RuntimeApp.start():
- Initialize DB + run migrations on startup
- Register built-in tools via ToolRegistry (INV-3)
- Wire EventStore with DatabaseManager transaction manager
- Wire Scheduler.set_task_repo() + rebuild_from_db() (INV-5)
- Real worker cancellation + DB close in shutdown()
- Session DB path fixed: .air/local/sessions/<id>/session.db
DeveloperLogEncryptor:
- Restore throws-on-no-key (security invariant, test passes)
C++ toolchain:
- CppProjectDetector.command_exists(): check PATH via which
- CppProjectDetector.find_cpp_sources(): real recursive fs walk
- CppTestRunner.parse_ctest_output: fix regex for real ctest format
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>