journal-bot/tests
beo3000 08756f99ed feat: windows service + WPF tray GUI for journal-bot
Two thin .NET 10 shells around the Python CLI (tools/JournalBot.slnx):

- JournalBot.Service: Windows Service (LocalSystem), PeriodicTimer runs
  `journal_bot ingest` every 15 min, logs to runtime/logs/service.log.
- JournalBot.Tray: WPF tray app, status banner + Historie/Log tabs +
  Ingest/Process/Both buttons; runs `process` (needs user-session LM Studio).
- JournalBot.Shared: QueueItem DTO, BotRunner (subprocess, kills tree on
  cancel), RuntimeReader (history/status/log); 7 xUnit tests.

Python side: QueueItem gains optional result fields (target_path,
written_entry, processed_at); complete() rewrites JSON atomically;
process_once records them so the GUI can show what was written where.

Install via scripts/{build-tools,install-service,install-tray}.ps1;
replaces the old install-task.ps1.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 09:37:39 +02:00
..
fixtures/prompt_regression test(prompt): regression cases for date resolution, meta filter, clarification 2026-06-15 17:42:39 +02:00
__init__.py chore: bootstrap journal-bot project skeleton 2026-06-15 15:01:04 +02:00
test_config.py feat(config): load settings from env via pydantic-settings 2026-06-15 15:05:55 +02:00
test_context.py feat(context): collect persons and active projects from vault 2026-06-15 17:22:38 +02:00
test_ingest.py feat(cli): ingest/process/both/write subcommands wiring all components 2026-06-15 17:36:02 +02:00
test_process.py feat: windows service + WPF tray GUI for journal-bot 2026-06-16 09:37:39 +02:00
test_processor_lmstudio.py feat(processor_lmstudio): openai-compatible client with health-check and retry 2026-06-15 17:29:03 +02:00
test_prompt_regression.py test(prompt): regression cases for date resolution, meta filter, clarification 2026-06-15 17:42:39 +02:00
test_queue.py feat: windows service + WPF tray GUI for journal-bot 2026-06-16 09:37:39 +02:00
test_state.py feat(state): persist last_update_id and rolling processed_ids 2026-06-15 15:08:53 +02:00
test_telegram_client.py feat(telegram): poll, allowlist-filter, parse text/voice/photo, react 2026-06-15 17:12:21 +02:00
test_transcribe.py feat(transcribe): faster-whisper with telegram premium fallback 2026-06-15 17:19:33 +02:00
test_vault_writer.py feat(vault_writer): append entries with frontmatter and clarifications callout 2026-06-15 17:06:10 +02:00