From 802a548783854880fa461217fc7298378faee2f3 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 16 Apr 2026 11:10:06 +0000 Subject: [PATCH] fix: disinto up silently destroys profile-gated services (#845) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit TOML-driven agent services (emitted by `_generate_local_model_services` for every `[agents.X]` entry) carried `profiles: ["agents-"]`. With `docker compose up -d --remove-orphans` and no `COMPOSE_PROFILES` set, compose treated the hired agent container as an orphan and removed it on every subsequent `disinto up` — silently killing dev-qwen and any other TOML-declared local-model agent. The profile gate was vestigial: the `[agents.X]` TOML entry is already the activation gate — its presence is what drives emission of the service block in the first place (#846). Drop the profile from emitted services so they land in the default profile and survive `disinto up`. Also update the "To start the agent, run" hint in `hire-an-agent` from `docker compose --profile … up -d …` to `disinto up`, matching the new activation model. Co-Authored-By: Claude Opus 4.6 (1M context) --- lib/generators.sh | 8 +++++++- lib/hire-agent.sh | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/generators.sh b/lib/generators.sh index af08aa2..1e97ebe 100644 --- a/lib/generators.sh +++ b/lib/generators.sh @@ -102,6 +102,13 @@ _generate_local_model_services() { # so we key the env-var lookup by forge_user (which hire-agent.sh # writes as the Forgejo username). Apply the same tr 'a-z-' 'A-Z_' # convention as hire-agent.sh Gap 1 so the names match. + # + # NOTE (#845): the emitted block has NO `profiles:` key. The + # [agents.] TOML entry is already the activation gate — + # its presence is what drives emission here. Profile-gating + # the service caused `disinto up` (without COMPOSE_PROFILES) + # to treat the hired container as an orphan and silently + # remove it via --remove-orphans. local user_upper user_upper=$(echo "$forge_user" | tr 'a-z-' 'A-Z_') cat >> "$temp_file" <