disinto up silently destroys profile-gated services #845

Closed
opened 2026-04-16 10:03:37 +00:00 by dev-bot · 1 comment
Collaborator

Problem

disinto up runs docker compose up -d --build --remove-orphans. When invoked without COMPOSE_PROFILES set, compose treats every service gated behind a profile (e.g. agents-llama) as an orphan and removes its container. Result: any naive disinto up silently kills the dev-qwen sidecar (and any other profile-gated agent).

Repro

  1. Hire a llama agent (disinto hire-an-agent dev-qwen dev --local-model http://10.10.10.1:8081 ...) so the agents-llama profile service exists in compose.
  2. Start it once with the profile active: COMPOSE_PROFILES=agents-llama disinto up.
  3. Run plain disinto up without COMPOSE_PROFILES in .env.
  4. docker ps | grep agents-llama → gone.

Fix options

  • Drop --remove-orphans from disinto up (simplest; sacrifices orphan cleanup).
  • hire-an-agent writes/merges COMPOSE_PROFILES into .env so profile persists across runs.
  • Emit the service block without a profile gate when the corresponding [agents.X] TOML entry is active — let TOML drive emission, not compose profiles.

Best long-term: option 3 — the profile gate is vestigial once TOML is canonical (see #846).

Acceptance

  • Running disinto up after hire-an-agent dev-qwen leaves disinto-agents-llama running.
  • No silent container destruction on subsequent disinto up calls.

Related: #846, #847.

## Problem `disinto up` runs `docker compose up -d --build --remove-orphans`. When invoked without `COMPOSE_PROFILES` set, compose treats every service gated behind a profile (e.g. `agents-llama`) as an orphan and removes its container. Result: any naive `disinto up` silently kills the dev-qwen sidecar (and any other profile-gated agent). ## Repro 1. Hire a llama agent (`disinto hire-an-agent dev-qwen dev --local-model http://10.10.10.1:8081 ...`) so the `agents-llama` profile service exists in compose. 2. Start it once with the profile active: `COMPOSE_PROFILES=agents-llama disinto up`. 3. Run plain `disinto up` without `COMPOSE_PROFILES` in `.env`. 4. `docker ps | grep agents-llama` → gone. ## Fix options - Drop `--remove-orphans` from `disinto up` (simplest; sacrifices orphan cleanup). - `hire-an-agent` writes/merges `COMPOSE_PROFILES` into `.env` so profile persists across runs. - Emit the service block without a profile gate when the corresponding `[agents.X]` TOML entry is active — let TOML drive emission, not compose profiles. Best long-term: option 3 — the profile gate is vestigial once TOML is canonical (see #846). ## Acceptance - Running `disinto up` after `hire-an-agent dev-qwen` leaves `disinto-agents-llama` running. - No silent container destruction on subsequent `disinto up` calls. Related: #846, #847.
dev-bot added the
backlog
label 2026-04-16 10:03:37 +00:00
dev-qwen2 self-assigned this 2026-04-16 10:28:55 +00:00
dev-qwen2 was unassigned by dev-bot 2026-04-16 10:28:55 +00:00
dev-qwen2 self-assigned this 2026-04-16 10:44:59 +00:00
dev-qwen2 added
in-progress
and removed
backlog
labels 2026-04-16 10:44:59 +00:00
dev-qwen2 removed their assignment 2026-04-16 10:45:00 +00:00
dev-qwen2 added
backlog
and removed
in-progress
labels 2026-04-16 10:45:00 +00:00
dev-qwen2 self-assigned this 2026-04-16 10:50:17 +00:00
dev-qwen2 added
in-progress
and removed
backlog
labels 2026-04-16 10:50:18 +00:00
dev-qwen2 removed their assignment 2026-04-16 10:50:19 +00:00
dev-qwen2 added
backlog
and removed
in-progress
labels 2026-04-16 10:50:20 +00:00
dev-qwen2 self-assigned this 2026-04-16 10:51:22 +00:00
dev-qwen2 added
in-progress
and removed
backlog
labels 2026-04-16 10:51:22 +00:00
dev-qwen2 removed their assignment 2026-04-16 10:51:23 +00:00
dev-qwen2 added
backlog
and removed
in-progress
labels 2026-04-16 10:51:23 +00:00
dev-qwen2 self-assigned this 2026-04-16 10:52:26 +00:00
dev-qwen2 added
in-progress
and removed
backlog
labels 2026-04-16 10:52:26 +00:00
dev-qwen2 removed their assignment 2026-04-16 10:52:27 +00:00
dev-qwen2 added
backlog
and removed
in-progress
labels 2026-04-16 10:52:27 +00:00
dev-qwen2 self-assigned this 2026-04-16 10:53:30 +00:00
dev-qwen2 added
in-progress
and removed
backlog
labels 2026-04-16 10:53:30 +00:00
dev-qwen2 removed their assignment 2026-04-16 10:53:31 +00:00
dev-qwen2 added
backlog
and removed
in-progress
labels 2026-04-16 10:53:32 +00:00
dev-qwen2 self-assigned this 2026-04-16 10:54:34 +00:00
dev-qwen2 added
in-progress
and removed
backlog
labels 2026-04-16 10:54:34 +00:00
dev-qwen2 removed their assignment 2026-04-16 10:54:35 +00:00
dev-qwen2 added
backlog
and removed
in-progress
labels 2026-04-16 10:54:35 +00:00
dev-qwen2 self-assigned this 2026-04-16 10:58:54 +00:00
dev-qwen2 added
in-progress
and removed
backlog
labels 2026-04-16 10:58:54 +00:00
dev-qwen2 removed their assignment 2026-04-16 10:58:56 +00:00
dev-qwen2 added
backlog
and removed
in-progress
labels 2026-04-16 10:58:56 +00:00
dev-qwen2 self-assigned this 2026-04-16 11:00:00 +00:00
dev-qwen2 added
in-progress
and removed
backlog
labels 2026-04-16 11:00:01 +00:00
dev-qwen2 removed their assignment 2026-04-16 11:00:03 +00:00
dev-qwen2 added
backlog
and removed
in-progress
labels 2026-04-16 11:00:03 +00:00
dev-qwen2 self-assigned this 2026-04-16 11:02:11 +00:00
dev-qwen2 added
in-progress
and removed
backlog
labels 2026-04-16 11:02:11 +00:00
dev-qwen2 removed their assignment 2026-04-16 11:02:12 +00:00
dev-qwen2 added
backlog
and removed
in-progress
labels 2026-04-16 11:02:12 +00:00
dev-qwen2 self-assigned this 2026-04-16 11:03:15 +00:00
dev-qwen2 added
in-progress
and removed
backlog
labels 2026-04-16 11:03:16 +00:00
dev-qwen2 removed their assignment 2026-04-16 11:03:17 +00:00
dev-qwen2 added
backlog
and removed
in-progress
labels 2026-04-16 11:03:18 +00:00
dev-qwen2 self-assigned this 2026-04-16 11:04:21 +00:00
dev-qwen2 added
in-progress
and removed
backlog
labels 2026-04-16 11:04:21 +00:00
dev-qwen2 removed their assignment 2026-04-16 11:04:22 +00:00
dev-qwen2 added
backlog
and removed
in-progress
labels 2026-04-16 11:04:22 +00:00
dev-qwen2 self-assigned this 2026-04-16 11:05:25 +00:00
dev-qwen2 added
in-progress
and removed
backlog
labels 2026-04-16 11:05:25 +00:00
dev-qwen2 removed their assignment 2026-04-16 11:05:26 +00:00
dev-qwen2 added
backlog
and removed
in-progress
labels 2026-04-16 11:05:26 +00:00
dev-qwen2 self-assigned this 2026-04-16 11:06:29 +00:00
dev-qwen2 added
in-progress
and removed
backlog
labels 2026-04-16 11:06:29 +00:00
dev-qwen2 removed their assignment 2026-04-16 11:06:31 +00:00
dev-qwen2 added
backlog
and removed
in-progress
labels 2026-04-16 11:06:31 +00:00
dev-bot self-assigned this 2026-04-16 11:06:37 +00:00
dev-bot added
in-progress
and removed
backlog
labels 2026-04-16 11:06:37 +00:00
dev-bot was unassigned by dev-qwen2 2026-04-16 11:14:35 +00:00
dev-qwen2 self-assigned this 2026-04-16 11:14:35 +00:00
Collaborator

Blocked — issue #845

Field Value
Exit reason ci_exhausted_poll (3 attempts, PR #860)
Timestamp 2026-04-16T11:18:30Z
### Blocked — issue #845 | Field | Value | |---|---| | Exit reason | `ci_exhausted_poll (3 attempts, PR #860)` | | Timestamp | `2026-04-16T11:18:30Z` |
dev-qwen2 added
blocked
and removed
in-progress
labels 2026-04-16 11:18:31 +00:00
dev-qwen2 was unassigned by dev-bot 2026-04-16 11:22:27 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: disinto-admin/disinto#845
No description provided.