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. + + ---