* refactor(vector): add injectable executor for the embedding daemon bridge
await_with_timeout spawned coroutines unconditionally on the daemon
global IO context, coupling the vector-layer embedding generator to
daemon globals. EmbeddingConfig gains an optional
boost::asio::any_io_executor executorOverride; the bridge uses it when
present and keeps the global executor as the default — identical
behavior for all existing callers (embedding_service, model providers,
CLI all construct without an override).
Lead 1 plan step (b) of the embedding_generator vector->daemon
decomposition (Brick audit follow-up).
Validation: full ninja build green; meson test yams:service_manager,
vector_submodule, yams:embedding_lifecycle, yams:embedding_recovery —
all green.
Signed-off-by: trvon <me@trevon.dev>
* refactor(vector): split DaemonBackend into own TU
Keep daemon client/IPC headers out of the vector-layer generator TU;
EmbeddingGenerator builds the backend via createDaemonBackend factory
on the existing IEmbeddingBackend seam. Behavior-preserving.
Brick audit lead 1: 5 file-level cycles hubbed on
embedding_generator.cpp.
Signed-off-by: trvon <me@trevon.dev>
* revert(vector): keep bridge executor out of public EmbeddingConfig
Pre-push gate caught it: the config layer includes the vector header
transitively (ConfigResolver.h -> document_chunker.h ->
embedding_generator.h) and has no boost asio include path, so
<boost/asio/any_io_executor.hpp> in the public header breaks the
config build.
Executor selection stays in embedding_daemon_backend.cpp (daemon-facing
TU by design); per-instance injection needs the config->vector include
direction fixed first — recorded as follow-up.
Signed-off-by: trvon <me@trevon.dev>
* refactor(vector): trust resolved backend policy
Remove EmbeddingGenerator's ambient ConfigResolver read. Callers now own
backend-policy resolution; EmbeddingService marks its already-resolved
runtime policy unconditionally. Keep TuneAdvisor only for the process-wide
concurrency gate, where instance-local policy would not coordinate admission.
Tests pin typed backend authority against conflicting environment state.
Signed-off-by: trvon <me@trevon.dev>
* chore(vector): remove stale config include
The generator no longer reads config helpers after backend policy moved to
callers, so drop the misleading DaemonBackend comment and unused include.
Signed-off-by: trvon <me@trevon.dev>
---------
Signed-off-by: trvon <me@trevon.dev>