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
- Review whether ores.cli/ores.shell's host.cpp divergence is load-bearing or historical — the investigation that surfaced this
- Unify application.cpp and service initialisation across services — the original async extraction