Resolving dependencies... Downloading packages... code_assets 1.2.1 (2.0.0 available) flutter_secure_storage 10.3.1 (11.0.0 available) flutter_secure_storage_darwin 0.3.2 (0.4.0 available) hooks 2.0.2 (2.2.0 available) intl 0.20.2 (0.20.3 available) matcher 0.12.19 (0.12.20 available) material_color_utilities 0.13.0 (0.13.1 available) meta 1.18.0 (1.19.0 available) native_toolchain_c 0.19.2 (0.19.4 available) objective_c 9.5.0 (9.6.0 available) record_use 0.6.0 (1.1.1 available) shared_preferences_android 2.4.27 (2.4.28 available) shared_preferences_foundation 2.5.6 (2.5.7 available) test_api 0.7.11 (0.7.13 available) vector_math 2.2.0 (2.4.2 available) Got dependencies! 15 packages have newer versions incompatible with dependency constraints. Try `flutter pub outdated` for more information. 00:00 +0: loading /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/core/lookback_test.dart 00:00 +0: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/core/lookback_test.dart: an empty journal has nothing to look back at 00:00 +1: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/core/lookback_test.dart: nothing recent enough counts as a memory 00:00 +2: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/core/lookback_test.dart: the same date a year ago wins 00:00 +3: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/core/lookback_test.dart: an older journal shows last year, not the first year 00:00 +4: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/core/lookback_test.dart: without an anniversary it falls back to the same day last month 00:00 +5: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/core/lookback_test.dart: a day the previous month does not have is not invented 00:00 +6: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/core/lookback_test.dart: otherwise it picks something at least two weeks old 00:00 +7: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/core/lookback_test.dart: the same day always shows the same memory 00:00 +8: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/core/lookback_test.dart: a different day may show a different memory 00:00 +9: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/core/lookback_test.dart: today itself is never the memory 00:01 +10: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/l10n/overflow_test.dart: the count line holds in vi at 1.0x 00:01 +11: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/l10n/overflow_test.dart: the count line holds in vi at 1.0x 00:01 +12: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/l10n/overflow_test.dart: the count line holds in vi at 1.0x 00:01 +13: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/l10n/overflow_test.dart: the count line holds in vi at 1.0x 00:01 +14: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/l10n/overflow_test.dart: the count line holds in vi at 1.0x 00:01 +15: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/l10n/overflow_test.dart: the count line holds in vi at 1.0x 00:01 +16: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/l10n/overflow_test.dart: the count line holds in vi at 1.0x 00:01 +17: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/l10n/overflow_test.dart: the count line holds in vi at 1.0x 00:01 +18: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/l10n/overflow_test.dart: the count line holds in vi at 1.0x 00:01 +19: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/l10n/overflow_test.dart: the count line holds in vi at 1.0x 00:01 +20: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/l10n/overflow_test.dart: the count line holds in vi at 1.0x 00:02 +21: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/l10n/unused_copy_test.dart: every string in the ARB is used by something outside generated code 00:02 +22: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/l10n/overflow_test.dart: the empty timeline holds in vi at 1.0x 00:02 +23: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/l10n/overflow_test.dart: search holds in vi at 1.0x 00:02 +24: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/timeline/lookback_card_test.dart: a journal with nothing old enough shows no card 00:02 +25: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/timeline/lookback_card_test.dart: a journal with nothing old enough shows no card 00:02 +26: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/timeline/lookback_card_test.dart: a journal with nothing old enough shows no card 00:02 +27: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/timeline/lookback_card_test.dart: a journal with nothing old enough shows no card 00:02 +28: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/timeline/lookback_card_test.dart: a journal with nothing old enough shows no card 00:02 +29: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/timeline/lookback_card_test.dart: a journal with nothing old enough shows no card 00:02 +30: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/timeline/lookback_card_test.dart: a journal with nothing old enough shows no card 00:02 +31: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/timeline/lookback_card_test.dart: a journal with nothing old enough shows no card 00:02 +32: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/timeline/lookback_card_test.dart: a journal with nothing old enough shows no card 00:03 +33: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/timeline/lookback_card_test.dart: a journal with nothing old enough shows no card 00:03 +34: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/timeline/lookback_card_test.dart: a journal with nothing old enough shows no card 00:03 +35: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/timeline/lookback_card_test.dart: a journal with nothing old enough shows no card 00:03 +36: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/timeline/lookback_card_test.dart: a journal with nothing old enough shows no card 00:03 +37: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/timeline/lookback_card_test.dart: a journal with nothing old enough shows no card 00:03 +38: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/timeline/day_grouping_test.dart: a day holding six photographs is one day, not six 00:03 +39: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/timeline/day_grouping_test.dart: a day holding six photographs is one day, not six 00:03 +40: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/timeline/day_grouping_test.dart: a day holding six photographs is one day, not six 00:03 +41: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/search/empty_states_test.dart: an empty journal is not a failed search 00:03 +42: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/search/empty_states_test.dart: an empty journal is not a failed search 00:03 +43: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/search/empty_states_test.dart: an empty journal is not a failed search 00:03 +44: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/search/empty_states_test.dart: a query with no match is a failed search 00:07 +45: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/film/scratch_lifecycle_test.dart: a clip is released when the film is closed 00:07 +46: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/film/scratch_lifecycle_test.dart: a clip is released when the film is closed 00:07 +47: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/film/scratch_lifecycle_test.dart: a clip is released when the film is closed 00:07 +48: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/film/scratch_lifecycle_test.dart: a clip is released when the film is closed 00:07 +49: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/film/scratch_lifecycle_test.dart: a clip is released when the film is closed 00:07 +50: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/film/scratch_lifecycle_test.dart: a clip is released when the film is closed 00:08 +51: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/calendar/month_grid_test.dart: renders every day of the month once 00:08 +52: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/calendar/month_grid_test.dart: renders every day of the month once 00:09 +53: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/shared/entry_image_test.dart: a clip is drawn as a clip, not as a broken photograph 00:09 +54: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/shared/entry_image_test.dart: a clip is drawn as a clip, not as a broken photograph 00:09 +55: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/editor/save_feedback_test.dart: an incomplete frame says what is missing when save is tapped 00:09 +56: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/editor/save_feedback_test.dart: an incomplete frame says what is missing when save is tapped 00:09 +57: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/editor/save_feedback_test.dart: an incomplete frame says what is missing when save is tapped 00:09 +58: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/editor/save_feedback_test.dart: an incomplete frame says what is missing when save is tapped 00:09 +59: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/editor/save_feedback_test.dart: an incomplete frame says what is missing when save is tapped 00:10 +60: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/editor/discard_guard_test.dart: leaving an untouched editor asks nothing 00:10 +61: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/editor/discard_guard_test.dart: leaving an untouched editor asks nothing 00:10 +62: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/editor/discard_guard_test.dart: leaving an untouched editor asks nothing 00:10 +63: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/editor/discard_guard_test.dart: leaving an untouched editor asks nothing 00:10 +64: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/editor/discard_guard_test.dart: leaving an untouched editor asks nothing 00:10 +65: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/editor/discard_guard_test.dart: leaving an untouched editor asks nothing 00:10 +66: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/editor/discard_guard_test.dart: leaving an untouched editor asks nothing 00:10 +67: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/editor/discard_guard_test.dart: leaving an untouched editor asks nothing 00:10 +68: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/editor/discard_guard_test.dart: leaving an untouched editor asks nothing 00:10 +69: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/editor/discard_guard_test.dart: leaving an untouched editor asks nothing 00:10 +70: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/editor/discard_guard_test.dart: leaving an untouched editor asks nothing 00:10 +71: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/editor/discard_guard_test.dart: leaving an untouched editor asks nothing 00:10 +72: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/editor/discard_guard_test.dart: leaving an untouched editor asks nothing 00:10 +73: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/editor/discard_guard_test.dart: leaving an untouched editor asks nothing 00:10 +74: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/editor/discard_guard_test.dart: leaving an untouched editor asks nothing 00:10 +75: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/editor/discard_guard_test.dart: leaving an untouched editor asks nothing 00:10 +76: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/editor/discard_guard_test.dart: leaving an untouched editor asks nothing 00:10 +77: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/editor/discard_guard_test.dart: leaving an untouched editor asks nothing 00:10 +78: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/editor/discard_guard_test.dart: leaving an untouched editor asks nothing 00:10 +79: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/settings/import_feedback_test.dart: the restore message reports a real number 00:10 +80: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/settings/import_feedback_test.dart: the restore message reports a real number 00:10 +81: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/settings/import_feedback_test.dart: the restore message reports a real number 00:10 +82: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/settings/import_feedback_test.dart: the restore message reports a real number 00:10 +83: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/settings/import_feedback_test.dart: the restore message reports a real number 00:10 +84: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/editor/discard_guard_test.dart: choosing to keep writing leaves the text alone 00:10 +85: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/editor/discard_guard_test.dart: choosing to keep writing leaves the text alone 00:10 +86: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/editor/discard_guard_test.dart: choosing to keep writing leaves the text alone 00:10 +87: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/editor/discard_guard_test.dart: choosing to keep writing leaves the text alone 00:10 +88: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/editor/discard_guard_test.dart: choosing to keep writing leaves the text alone 00:10 +89: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/editor/discard_guard_test.dart: choosing to keep writing leaves the text alone 00:10 +90: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/editor/discard_guard_test.dart: choosing to keep writing leaves the text alone 00:10 +91: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/editor/discard_guard_test.dart: choosing to keep writing leaves the text alone 00:10 +92: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/editor/discard_guard_test.dart: choosing to keep writing leaves the text alone 00:10 +93: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/editor/discard_guard_test.dart: choosing to keep writing leaves the text alone 00:10 +94: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/editor/discard_guard_test.dart: choosing to keep writing leaves the text alone 00:10 +95: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/editor/discard_guard_test.dart: choosing to keep writing leaves the text alone 00:10 +96: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/editor/discard_guard_test.dart: choosing to keep writing leaves the text alone 00:10 +97: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/editor/discard_guard_test.dart: choosing to keep writing leaves the text alone 00:10 +98: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/editor/discard_guard_test.dart: choosing to keep writing leaves the text alone 00:10 +99: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/editor/discard_guard_test.dart: choosing to keep writing leaves the text alone 00:10 +100: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/features/editor/discard_guard_test.dart: choosing to keep writing leaves the text alone 00:11 +101: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/plaintext_migration_test.dart: a fresh install has nothing to migrate 00:11 +102: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/plaintext_migration_test.dart: every day and every photograph comes across 00:11 +103: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/plaintext_migration_test.dart: the photographs on disk stop being readable as images 00:11 +104: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/plaintext_migration_test.dart: the copied entries point at the sealed files 00:11 +105: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/plaintext_migration_test.dart: the captions survive the move unchanged 00:11 +106: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/plaintext_migration_test.dart: interruption a half-sealed journal finishes on the next run 00:11 +107: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/plaintext_migration_test.dart: interruption a leftover .part file is discarded, not adopted 00:11 +108: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/plaintext_migration_test.dart: interruption running it twice is the same as running it once 00:11 +109: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/plaintext_migration_test.dart: failure never destroys the original a photograph that cannot be sealed leaves everything in place 00:11 +110: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/plaintext_migration_test.dart: no plaintext database is left behind, copies included 00:11 +111: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: what leaves the device the exported file does not contain the caption 00:11 +112: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: what leaves the device the exported file does not contain the caption 00:11 +113: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: what leaves the device the exported file does not contain the caption 00:11 +114: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: what leaves the device the exported file does not contain the caption 00:11 +115: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: what leaves the device the exported file does not contain the caption 00:11 +116: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: what leaves the device the exported file does not contain the caption 00:11 +117: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: what leaves the device the exported file does not contain the caption 00:11 +118: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: what leaves the device the exported file does not contain the caption 00:11 +119: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: what leaves the device the exported file does not contain the caption 00:12 +120: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/byte_cipher_test.dart: a photograph-sized payload round-trips 00:12 +121: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/byte_cipher_test.dart: a photograph-sized payload round-trips 00:12 +122: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps the device key opens it with no passphrase 00:12 +123: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps the device key opens it with no passphrase 00:12 +124: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps the device key opens it with no passphrase 00:12 +125: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/backup/zip_backup_archive_test.dart: a journal survives the round trip byte for byte 00:12 +126: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps the passphrase opens it on a phone that has never seen it 00:12 +127: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps the passphrase opens it on a phone that has never seen it 00:12 +128: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps the passphrase opens it on a phone that has never seen it 00:12 +129: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps the passphrase opens it on a phone that has never seen it 00:12 +130: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps the passphrase opens it on a phone that has never seen it 00:13 +131: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps the passphrase opens it on a phone that has never seen it 00:13 +132: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps the passphrase opens it on a phone that has never seen it 00:13 +133: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps the passphrase opens it on a phone that has never seen it 00:13 +134: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps the passphrase opens it on a phone that has never seen it 00:13 +135: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps the passphrase opens it on a phone that has never seen it 00:13 +136: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps the passphrase opens it on a phone that has never seen it 00:13 +137: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps the passphrase opens it on a phone that has never seen it 00:13 +138: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps the passphrase opens it on a phone that has never seen it 00:13 +139: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps the passphrase opens it on a phone that has never seen it 00:13 +140: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps the passphrase opens it on a phone that has never seen it 00:13 +141: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps the passphrase opens it on a phone that has never seen it 00:13 +142: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps the passphrase opens it on a phone that has never seen it 00:14 +143: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps the passphrase opens it on a phone that has never seen it 00:14 +144: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps the passphrase opens it on a phone that has never seen it 00:14 +145: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/generation/derivative_sanitizer_test.dart: no plaintext copy is left anywhere on disk 00:14 +146: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps a wrong passphrase fails and does not half-open 00:14 +147: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps a wrong passphrase fails and does not half-open 00:14 +148: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps a wrong passphrase fails and does not half-open 00:14 +149: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps a wrong passphrase fails and does not half-open 00:14 +150: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps a wrong passphrase fails and does not half-open 00:14 +151: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps a wrong passphrase fails and does not half-open 00:14 +152: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps a wrong passphrase fails and does not half-open 00:14 +153: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps a wrong passphrase fails and does not half-open 00:14 +154: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps a wrong passphrase fails and does not half-open 00:14 +155: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps a wrong passphrase fails and does not half-open 00:14 +156: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps a wrong passphrase fails and does not half-open 00:14 +157: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps a wrong passphrase fails and does not half-open 00:14 +158: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps a wrong passphrase fails and does not half-open 00:14 +159: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps a wrong passphrase fails and does not half-open 00:14 +160: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps a wrong passphrase fails and does not half-open 00:14 +161: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps a wrong passphrase fails and does not half-open 00:14 +162: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps a wrong passphrase fails and does not half-open 00:14 +163: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps a wrong passphrase fails and does not half-open 00:15 +164: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps a wrong passphrase fails and does not half-open 00:15 +165: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps a wrong passphrase fails and does not half-open 00:15 +166: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps a wrong passphrase fails and does not half-open 00:15 +167: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps a wrong passphrase fails and does not half-open 00:15 +168: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps a wrong passphrase fails and does not half-open 00:15 +169: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/persistence/schema_migration_test.dart: a v1 journal becomes moments, and keeps its old table 00:15 +170: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps both wraps carry the same archive, not two copies 00:15 +171: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps both wraps carry the same archive, not two copies 00:15 +172: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps both wraps carry the same archive, not two copies 00:15 +173: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps both wraps carry the same archive, not two copies 00:15 +174: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps both wraps carry the same archive, not two copies 00:15 +175: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps both wraps carry the same archive, not two copies 00:15 +176: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps both wraps carry the same archive, not two copies 00:15 +177: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps both wraps carry the same archive, not two copies 00:15 +178: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps both wraps carry the same archive, not two copies 00:15 +179: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps both wraps carry the same archive, not two copies 00:15 +180: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps both wraps carry the same archive, not two copies 00:15 +181: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps both wraps carry the same archive, not two copies 00:15 +182: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps both wraps carry the same archive, not two copies 00:15 +183: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps both wraps carry the same archive, not two copies 00:15 +184: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps both wraps carry the same archive, not two copies 00:15 +185: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps both wraps carry the same archive, not two copies 00:16 +186: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps both wraps carry the same archive, not two copies 00:16 +187: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps both wraps carry the same archive, not two copies 00:16 +188: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps both wraps carry the same archive, not two copies 00:16 +189: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps both wraps carry the same archive, not two copies 00:16 +190: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps both wraps carry the same archive, not two copies 00:16 +191: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps both wraps carry the same archive, not two copies 00:16 +192: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps both wraps carry the same archive, not two copies 00:16 +193: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps both wraps carry the same archive, not two copies 00:16 +194: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps both wraps carry the same archive, not two copies 00:16 +195: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps both wraps carry the same archive, not two copies 00:16 +196: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps both wraps carry the same archive, not two copies 00:16 +197: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps both wraps carry the same archive, not two copies 00:16 +198: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the two wraps both wraps carry the same archive, not two copies 00:16 +199: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the file itself two exports of the same journal are not identical files 00:16 +200: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the file itself two exports of the same journal are not identical files 00:16 +201: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the file itself two exports of the same journal are not identical files 00:16 +202: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the file itself two exports of the same journal are not identical files 00:16 +203: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the file itself two exports of the same journal are not identical files 00:16 +204: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the file itself two exports of the same journal are not identical files 00:16 +205: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the file itself two exports of the same journal are not identical files 00:16 +206: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the file itself two exports of the same journal are not identical files 00:16 +207: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the file itself two exports of the same journal are not identical files 00:16 +208: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the file itself two exports of the same journal are not identical files 00:16 +209: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the file itself two exports of the same journal are not identical files 00:16 +210: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the file itself two exports of the same journal are not identical files 00:16 +211: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the file itself two exports of the same journal are not identical files 00:16 +212: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the file itself two exports of the same journal are not identical files 00:17 +213: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/app/archive_route_test.dart: the archive route can still reach the photo loader 00:18 +214: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/app/archive_route_test.dart: the archive route can still reach the photo loader 00:18 +215: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/app/archive_route_test.dart: the archive route can still reach the photo loader 00:18 +216: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/app_smoke_test.dart: opens the empty timeline and exposes V1 navigation 00:19 +217: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the file itself a truncated envelope is refused 00:19 +218: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/app_smoke_test.dart: shows the intro once, then the timeline 00:19 +219: /tmp/claude-1000/-home-huy-working-releases-ai-job-search/a8fdab0d-7da4-461b-8644-c9f7ac91b647/scratchpad/ofev/test/infrastructure/security/backup_envelope_test.dart: the file itself a tampered payload does not open 00:20 +220: All tests passed!