Extract a sync sibling of run_host_async for the console tools

Table of Contents

This page is a capture in the discarded bucket of the product backlog. The idea is ruled out rather than deferred, and the file stays as the record of why.

1. What

Add a sync counterpart to ores::service::service::run_host_async() (projects/ores.service/include/ores.service/service/host_runner.hpp) for the console tools, whose host.cpp bodies are correctly not on the async helper (neither has an io_context) but duplicated about 70% of their own structure with each other: parse args, check for an empty optional<config>, init the lifecycle_manager, log the args and config, then run the try { construct application; run; } catch (const std::exception&) block.

2. Why discarded

The extraction landed. ores::service::service::run_host_sync() lives in projects/ores.service/include/ores.service/service/host_runner_sync.hpp, delivered by the sprint 25 story Extract a sync sibling of run_host_async for ores.cli/ores.shell. ores.cli then retired on 2026-09-23 (story Decommission ores.cli), so ores.shell is the only caller and there is no second tool left to share the envelope with.

3. References

  • projects/ores.shell/src/app/host.cpp
  • projects/ores.service/include/ores.service/service/host_runner_sync.hpp
  • projects/ores.service/include/ores.service/service/host_runner.hpp

4. See also

Emacs 29.3 (Org mode 9.6.15)