ticket: use base32 project record ids
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
---
|
||||
title: "CLI: remove insomnia-pod installed/runtime alias"
|
||||
state: "closed"
|
||||
created_at: "2026-05-31T05:47:28Z"
|
||||
updated_at: "2026-05-31T06:10:39Z"
|
||||
---
|
||||
|
||||
## Background
|
||||
|
||||
Parent/umbrella ticket: `single-binary-insomnia-cli`.
|
||||
|
||||
Previous phases have already:
|
||||
|
||||
- added `insomnia pod ...` as the Pod runtime entrypoint;
|
||||
- moved internal spawn/restore defaults to typed `current_exe() + ["pod"]` command resolution;
|
||||
- left `insomnia-pod` as a temporary old binary/package output.
|
||||
|
||||
The user decision is that `insomnia-pod` does not need to remain as a compatibility alias. It was never designed as a human-facing command. The next phase is to remove/demote it so the installed package exposes one primary runtime executable: `insomnia`.
|
||||
|
||||
## Requirements
|
||||
|
||||
- Remove the long-term `insomnia-pod` installed/runtime alias.
|
||||
- Prefer removing the `insomnia-pod` binary target from the `pod` crate if no active tests/build paths require it.
|
||||
- The `pod` crate should remain as a library crate providing the Pod runtime entrypoint used by `insomnia pod ...`.
|
||||
- If a temporary binary target must remain for a narrow reason, document exactly why and do not install/expose it.
|
||||
- Update Nix packaging:
|
||||
- build/install only the user-facing `insomnia` binary as the package command;
|
||||
- remove `apps.insomnia-pod` from `flake.nix`;
|
||||
- update install checks to use `insomnia pod --help` instead of `insomnia-pod --help`.
|
||||
- Update devshell behavior:
|
||||
- remove the `insomnia-pod` wrapper if internal callers no longer need it;
|
||||
- preserve the “do not pollute `INSOMNIA-READY` stderr handshake with cargo output” property for dev workflows if a wrapper remains necessary;
|
||||
- document any remaining dev override path (`INSOMNIA_POD_COMMAND`) if still relevant.
|
||||
- Update docs that describe installed commands / Nix usage / profile manifest CLI examples:
|
||||
- replace user-facing `insomnia-pod ...` examples with `insomnia pod ...` where current behavior is intended;
|
||||
- avoid rewriting historical work-item artifacts;
|
||||
- leave clearly historical docs alone unless they are current user docs.
|
||||
- Preserve runtime behavior:
|
||||
- `insomnia pod --help` works;
|
||||
- Pod spawning/restoration still uses `insomnia pod ...` by default;
|
||||
- `INSOMNIA_POD_COMMAND` override behavior remains executable-only if still supported, or is intentionally removed with tests/docs updated.
|
||||
- Do not rename the `tui` package/crate in this ticket.
|
||||
- Do not merge Pod controller into the TUI process.
|
||||
|
||||
## Non-goals
|
||||
|
||||
- Crate/package rename from `tui` to `insomnia`.
|
||||
- Removing the `pod` library crate.
|
||||
- Changing Pod runtime flags/profile/manifest semantics.
|
||||
- Changing Pod protocol.
|
||||
- Large CLI UX redesign.
|
||||
|
||||
## Acceptance criteria
|
||||
|
||||
- Installed/Nix package exposes `bin/insomnia` as the primary command and no longer exposes `bin/insomnia-pod`.
|
||||
- `nix build .#insomnia` and install checks pass using `insomnia pod --help`.
|
||||
- `flake.nix` no longer advertises `apps.insomnia-pod`.
|
||||
- `insomnia pod --help` and relevant Pod runtime parser tests pass.
|
||||
- Internal spawn/restore tests still pass after removing the old binary output.
|
||||
- Current docs no longer instruct users to run `insomnia-pod` as the normal runtime command; use `insomnia pod` instead.
|
||||
- `cargo fmt --check`, focused pod/tui/client/nix tests or checks, `cargo check -p tui -p pod -p client`, `./tickets.sh doctor`, and `git diff --check` pass.
|
||||
@@ -0,0 +1,26 @@
|
||||
Removed the old `insomnia-pod` installed/runtime alias and completed the next single-binary CLI phase.
|
||||
|
||||
Implementation:
|
||||
- Removed the `insomnia-pod` binary target from the `pod` crate and made it library-only with `autobins = false`.
|
||||
- Deleted the old `crates/pod/src/main.rs` wrapper while keeping `pod::entrypoint` for `insomnia pod ...`.
|
||||
- Updated runtime command resolution to default to the current `insomnia` executable plus the `pod` prefix argument, while preserving executable-only `INSOMNIA_POD_COMMAND` override behavior.
|
||||
- Updated Nix packaging so `.#insomnia` installs `bin/insomnia` and asserts that `bin/insomnia-pod` is absent.
|
||||
- Removed `apps.insomnia-pod` from `flake.nix` and removed the devshell `insomnia-pod` wrapper.
|
||||
- Updated current docs to use `insomnia pod ...` instead of the old user-facing `insomnia-pod ...` command.
|
||||
|
||||
Review:
|
||||
- External reviewer `remove-insomnia-pod-reviewer-20260531` approved implementation commit `0d7d3c7bf1e1becb85ca8322e4b72730a91e3513`.
|
||||
- Review was recorded in `thread.md` before merge.
|
||||
|
||||
Validation on develop after merge:
|
||||
- `cargo fmt --check`
|
||||
- `cargo test -p tui parse_pod_subcommand_uses_runtime_mode`
|
||||
- `cargo test -p pod-command`
|
||||
- `cargo test -p pod --lib discovery::tests`
|
||||
- `cargo test -p pod --test spawn_pod_test`
|
||||
- `cargo check -p tui -p pod -p client`
|
||||
- `nix build .#insomnia`
|
||||
- `./result/bin/insomnia pod --help`
|
||||
- `test ! -e ./result/bin/insomnia-pod`
|
||||
- `./tickets.sh doctor`
|
||||
- `git diff --check`
|
||||
@@ -0,0 +1,87 @@
|
||||
<!-- event: create author: tickets.sh at: 2026-05-31T05:47:28Z -->
|
||||
|
||||
## Created
|
||||
|
||||
Created by tickets.sh create.
|
||||
|
||||
---
|
||||
|
||||
<!-- event: plan author: hare at: 2026-05-31T05:48:20Z -->
|
||||
|
||||
## Plan
|
||||
|
||||
Implementation plan:
|
||||
|
||||
1. Remove or demote the `insomnia-pod` Cargo binary target if active code/tests no longer require it; keep `pod` as a library crate.
|
||||
2. Update Nix packaging/install checks and flake app outputs so the package exposes only `insomnia`; install checks should call `insomnia pod --help`.
|
||||
3. Update devshell wrapper behavior. Since internal default spawning now uses `current_exe() + ["pod"]`, the old `insomnia-pod` wrapper should be removed unless a focused dev reason remains.
|
||||
4. Update current user docs (`docs/nix.md`, `docs/pod-factory.md`, manifest/profile docs, architecture docs) from `insomnia-pod` to `insomnia pod`. Do not rewrite historical work-item artifacts.
|
||||
5. Validate runtime parser/help, internal spawn/restore tests, Nix build, doctor, and diff check.
|
||||
|
||||
|
||||
---
|
||||
|
||||
<!-- event: review author: hare at: 2026-05-31T06:08:34Z status: approve -->
|
||||
|
||||
## Review: approve
|
||||
|
||||
External reviewer: `remove-insomnia-pod-reviewer-20260531`
|
||||
Reviewed implementation commit: `0d7d3c7bf1e1becb85ca8322e4b72730a91e3513` (`cli: remove insomnia-pod binary output`)
|
||||
Verdict: approve
|
||||
|
||||
Summary:
|
||||
- The implementation removes the old `insomnia-pod` installed/runtime alias and keeps Pod runtime process separation via `insomnia pod ...`.
|
||||
- `pod` is now library-only (`autobins = false`), `pod::entrypoint` remains available, and the old `crates/pod/src/main.rs` binary target is gone.
|
||||
- Nix/package/devshell/docs were updated so the primary installed command is `insomnia`, `apps.insomnia-pod` is no longer advertised, and install checks use `insomnia pod --help` plus a negative check for `bin/insomnia-pod`.
|
||||
- Internal spawn/restore paths use `PodRuntimeCommand::resolve()` and `prefix_args()` with default `current_exe() + ["pod"]`; `INSOMNIA_POD_COMMAND` remains executable-only.
|
||||
|
||||
Requirements mapping:
|
||||
- Acceptance criteria are satisfied: installed output no longer exposes `bin/insomnia-pod`; `flake.nix` no longer advertises `apps.insomnia-pod`; `insomnia pod --help` remains the runtime entrypoint; relevant tests and docs were updated.
|
||||
- No hidden non-goal changes were found: no `tui` crate rename, no controller/runtime process merge, and no Pod protocol or runtime flag semantic change.
|
||||
|
||||
Blockers: none.
|
||||
|
||||
Non-blocking follow-ups:
|
||||
- A test name in `crates/pod/src/entrypoint.rs` still contains old-ish wording (`subcommand_help_uses_insomnia_pod_invocation`) even though the test contents use `insomnia pod`; renaming it later would improve readability.
|
||||
- `docs/plan/network-peering.md` still has generic wording around a "pod binary"; this is not a user-facing `insomnia-pod` command example and is not blocking.
|
||||
|
||||
Validation adequacy:
|
||||
- Coder-reported validation covers fmt, parser/unit/integration tests, `cargo check`, Nix build/install smoke, `nix flake check`, ticket doctor, and diff whitespace check.
|
||||
- Reviewer performed read-only static review, clean status/diff inspection, residual `insomnia-pod` search, and `git diff --check`.
|
||||
|
||||
|
||||
---
|
||||
|
||||
<!-- event: close author: hare at: 2026-05-31T06:10:39Z status: closed -->
|
||||
|
||||
## Closed
|
||||
|
||||
Removed the old `insomnia-pod` installed/runtime alias and completed the next single-binary CLI phase.
|
||||
|
||||
Implementation:
|
||||
- Removed the `insomnia-pod` binary target from the `pod` crate and made it library-only with `autobins = false`.
|
||||
- Deleted the old `crates/pod/src/main.rs` wrapper while keeping `pod::entrypoint` for `insomnia pod ...`.
|
||||
- Updated runtime command resolution to default to the current `insomnia` executable plus the `pod` prefix argument, while preserving executable-only `INSOMNIA_POD_COMMAND` override behavior.
|
||||
- Updated Nix packaging so `.#insomnia` installs `bin/insomnia` and asserts that `bin/insomnia-pod` is absent.
|
||||
- Removed `apps.insomnia-pod` from `flake.nix` and removed the devshell `insomnia-pod` wrapper.
|
||||
- Updated current docs to use `insomnia pod ...` instead of the old user-facing `insomnia-pod ...` command.
|
||||
|
||||
Review:
|
||||
- External reviewer `remove-insomnia-pod-reviewer-20260531` approved implementation commit `0d7d3c7bf1e1becb85ca8322e4b72730a91e3513`.
|
||||
- Review was recorded in `thread.md` before merge.
|
||||
|
||||
Validation on develop after merge:
|
||||
- `cargo fmt --check`
|
||||
- `cargo test -p tui parse_pod_subcommand_uses_runtime_mode`
|
||||
- `cargo test -p pod-command`
|
||||
- `cargo test -p pod --lib discovery::tests`
|
||||
- `cargo test -p pod --test spawn_pod_test`
|
||||
- `cargo check -p tui -p pod -p client`
|
||||
- `nix build .#insomnia`
|
||||
- `./result/bin/insomnia pod --help`
|
||||
- `test ! -e ./result/bin/insomnia-pod`
|
||||
- `./tickets.sh doctor`
|
||||
- `git diff --check`
|
||||
|
||||
|
||||
---
|
||||
Reference in New Issue
Block a user