From f0efafbba94da74363f3cdf6f7733c741a3b85a2 Mon Sep 17 00:00:00 2001 From: Hare Date: Sun, 31 May 2026 21:15:52 +0900 Subject: [PATCH] close: single binary cli migration --- .../artifacts/.gitkeep | 0 .../item.md | 4 +-- .../resolution.md | 27 ++++++++++++++ .../thread.md | 35 +++++++++++++++++++ 4 files changed, 64 insertions(+), 2 deletions(-) rename work-items/{open => closed}/20260531-005557-single-binary-insomnia-cli/artifacts/.gitkeep (100%) rename work-items/{open => closed}/20260531-005557-single-binary-insomnia-cli/item.md (98%) create mode 100644 work-items/closed/20260531-005557-single-binary-insomnia-cli/resolution.md rename work-items/{open => closed}/20260531-005557-single-binary-insomnia-cli/thread.md (51%) diff --git a/work-items/open/20260531-005557-single-binary-insomnia-cli/artifacts/.gitkeep b/work-items/closed/20260531-005557-single-binary-insomnia-cli/artifacts/.gitkeep similarity index 100% rename from work-items/open/20260531-005557-single-binary-insomnia-cli/artifacts/.gitkeep rename to work-items/closed/20260531-005557-single-binary-insomnia-cli/artifacts/.gitkeep diff --git a/work-items/open/20260531-005557-single-binary-insomnia-cli/item.md b/work-items/closed/20260531-005557-single-binary-insomnia-cli/item.md similarity index 98% rename from work-items/open/20260531-005557-single-binary-insomnia-cli/item.md rename to work-items/closed/20260531-005557-single-binary-insomnia-cli/item.md index 364fe500..d4b40451 100644 --- a/work-items/open/20260531-005557-single-binary-insomnia-cli/item.md +++ b/work-items/closed/20260531-005557-single-binary-insomnia-cli/item.md @@ -2,12 +2,12 @@ id: 20260531-005557-single-binary-insomnia-cli slug: single-binary-insomnia-cli title: CLI: migrate toward a single insomnia binary -status: open +status: closed kind: task priority: P2 labels: [cli, architecture, nix] created_at: 2026-05-31T00:55:57Z -updated_at: 2026-05-31T04:32:30Z +updated_at: 2026-05-31T12:15:50Z assignee: null legacy_ticket: null --- diff --git a/work-items/closed/20260531-005557-single-binary-insomnia-cli/resolution.md b/work-items/closed/20260531-005557-single-binary-insomnia-cli/resolution.md new file mode 100644 index 00000000..aa25de41 --- /dev/null +++ b/work-items/closed/20260531-005557-single-binary-insomnia-cli/resolution.md @@ -0,0 +1,27 @@ +Completed the umbrella migration from the previous two-command installed layout toward a single primary `insomnia` executable. + +Completed phases: +- `insomnia-pod-subcommand-runtime`: moved Pod runtime startup behind `pod::entrypoint` and added `insomnia pod ...` dispatch. +- `spawn-through-insomnia-pod-subcommand`: changed internal spawn/restore defaults to typed runtime command resolution using current executable plus the `pod` prefix argument. +- `remove-insomnia-pod-binary`: removed the long-term `insomnia-pod` binary/package/devshell/flake output. +- Follow-up cleanup removed `INSOMNIA_POD_COMMAND` and `INSOMNIA_RESOURCE_DIR`, keeping the runtime command/config surface narrower. + +Outcome: +- The installed package exposes `bin/insomnia` only. +- `insomnia pod ...` is the Pod runtime entrypoint; Pods remain separate processes. +- Internal spawn/restore uses typed command construction rather than shell string parsing. +- `insomnia-pod` is not kept as a compatibility alias. +- Headless `insomnia memory lint` behavior remains part of the `insomnia` CLI surface. + +Validation/evidence across completed phases included: +- `insomnia pod --help` +- focused parser/spawn/restore tests +- `cargo fmt --check` +- `cargo check -p tui -p pod -p client` +- `nix build .#insomnia` +- checks that `bin/insomnia-pod` is absent +- `./tickets.sh doctor` +- `git diff --check` + +Follow-up intentionally remains separate: +- `insomnia-crate-cli-owner` now tracks the architectural cleanup where the `insomnia` crate owns the product CLI/binary entrypoint and `tui` becomes a library implementation crate. That is not required for this umbrella's original single-installed-binary migration to be complete. diff --git a/work-items/open/20260531-005557-single-binary-insomnia-cli/thread.md b/work-items/closed/20260531-005557-single-binary-insomnia-cli/thread.md similarity index 51% rename from work-items/open/20260531-005557-single-binary-insomnia-cli/thread.md rename to work-items/closed/20260531-005557-single-binary-insomnia-cli/thread.md index 30831630..31d095d0 100644 --- a/work-items/open/20260531-005557-single-binary-insomnia-cli/thread.md +++ b/work-items/closed/20260531-005557-single-binary-insomnia-cli/thread.md @@ -36,4 +36,39 @@ Revised decision from user discussion: Initial implementation should start by extracting the Pod runtime into a library entrypoint and adding `insomnia pod ...`; subsequent steps can migrate spawn defaults and remove `insomnia-pod` from packaging. +--- + + + +## Closed + +Completed the umbrella migration from the previous two-command installed layout toward a single primary `insomnia` executable. + +Completed phases: +- `insomnia-pod-subcommand-runtime`: moved Pod runtime startup behind `pod::entrypoint` and added `insomnia pod ...` dispatch. +- `spawn-through-insomnia-pod-subcommand`: changed internal spawn/restore defaults to typed runtime command resolution using current executable plus the `pod` prefix argument. +- `remove-insomnia-pod-binary`: removed the long-term `insomnia-pod` binary/package/devshell/flake output. +- Follow-up cleanup removed `INSOMNIA_POD_COMMAND` and `INSOMNIA_RESOURCE_DIR`, keeping the runtime command/config surface narrower. + +Outcome: +- The installed package exposes `bin/insomnia` only. +- `insomnia pod ...` is the Pod runtime entrypoint; Pods remain separate processes. +- Internal spawn/restore uses typed command construction rather than shell string parsing. +- `insomnia-pod` is not kept as a compatibility alias. +- Headless `insomnia memory lint` behavior remains part of the `insomnia` CLI surface. + +Validation/evidence across completed phases included: +- `insomnia pod --help` +- focused parser/spawn/restore tests +- `cargo fmt --check` +- `cargo check -p tui -p pod -p client` +- `nix build .#insomnia` +- checks that `bin/insomnia-pod` is absent +- `./tickets.sh doctor` +- `git diff --check` + +Follow-up intentionally remains separate: +- `insomnia-crate-cli-owner` now tracks the architectural cleanup where the `insomnia` crate owns the product CLI/binary entrypoint and `tui` becomes a library implementation crate. That is not required for this umbrella's original single-installed-binary migration to be complete. + + ---