ticket: use base32 project record ids
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
# Implementation report: Yoi rename
|
||||
|
||||
Implemented a clean public rename from Insomnia to Yoi.
|
||||
|
||||
## Scope completed
|
||||
|
||||
- Renamed the main Cargo package/crate/binary from `insomnia` to `yoi`:
|
||||
- `crates/insomnia/` -> `crates/yoi/`
|
||||
- workspace package/dependency metadata updated
|
||||
- CLI help and tests now use `yoi`
|
||||
- Updated Nix packaging:
|
||||
- package `pname` is `yoi`
|
||||
- flake package/app output points at `bin/yoi`
|
||||
- `cargoHash` refreshed after the lock/vendor input changed
|
||||
- Updated CLI/runtime command surfaces:
|
||||
- `insomnia pod` -> `yoi pod`
|
||||
- `INSOMNIA_POD_RUNTIME_COMMAND` -> `YOI_POD_RUNTIME_COMMAND`
|
||||
- `INSOMNIA-READY` -> `YOI-READY`
|
||||
- runtime fallback command now targets `yoi`
|
||||
- Updated path/env authority:
|
||||
- `.insomnia` -> `.yoi`
|
||||
- `~/.insomnia` -> `~/.yoi`
|
||||
- config/runtime/data env prefixes use `YOI_*`
|
||||
- Updated prompt/profile namespace:
|
||||
- `$insomnia` -> `$yoi`
|
||||
- `require("insomnia")` -> `require("yoi")`
|
||||
- Lua profile API/version strings updated to Yoi naming
|
||||
- Updated active docs, prompt resources, tests, diagnostics, examples, and help strings.
|
||||
- Kept old-name references only where they are rationale or historical records, such as `docs/branding.md`, historical reports, and work-item history.
|
||||
|
||||
## Compatibility decision
|
||||
|
||||
No old command aliases, old environment-variable aliases, old prompt/profile aliases, or old search roots are implemented. Yoi paths are the active paths.
|
||||
|
||||
## Residual old-name references in active surfaces
|
||||
|
||||
The active non-historical residual grep should not include old product/runtime identifiers. Remaining old-name references are expected only in rationale/historical records.
|
||||
|
||||
## Validation
|
||||
|
||||
Passed before the correction to remove compatibility remnants:
|
||||
|
||||
- `cargo fmt --check`
|
||||
- `cargo check --workspace`
|
||||
- `cargo test -p manifest`
|
||||
- `cargo test -p yoi`
|
||||
- `cargo test -p client runtime_command`
|
||||
- `cargo test -p pod entrypoint`
|
||||
- `cargo test -p pod prompt::loader`
|
||||
- `cargo test -p manifest profile`
|
||||
- `target/debug/yoi --help`
|
||||
- `target/debug/yoi pod --help`
|
||||
- `nix eval .#packages.x86_64-linux.default.pname --raw`
|
||||
- `nix eval .#apps.x86_64-linux.default.program --raw`
|
||||
- `nix build .#yoi --no-link`
|
||||
- `git diff --check`
|
||||
|
||||
Additional validation after removing compatibility remnants:
|
||||
|
||||
- `cargo fmt --check`
|
||||
- `cargo test -p manifest paths`
|
||||
- `cargo test -p pod spawn_profile_selector_accepts_default_inherit_and_registry`
|
||||
|
||||
Run the final full validation set again before closing this work item.
|
||||
@@ -0,0 +1,280 @@
|
||||
# Yoi rename survey
|
||||
|
||||
Generated by read-only Pod `surveyor-yoi-rename-20260601` on 2026-06-01.
|
||||
|
||||
## Executive stance
|
||||
|
||||
Move implementation/public identity to `Yoi` / `yoi` / `.yoi` / `YOI_*` everywhere that is product, runtime, config, CLI, package, prompt, profile, diagnostic, test, or public documentation surface.
|
||||
|
||||
Do not bulk-rename historical records, generated personal memory, old work-item threads, or rationale docs except where they currently function as live project instructions or public docs.
|
||||
|
||||
A small bounded migration path is appropriate for existing dogfood data directories, but old public aliases should not be preserved long-term unless explicitly reapproved.
|
||||
|
||||
## Major rename surfaces
|
||||
|
||||
### Cargo package, crate, binary, lockfile
|
||||
|
||||
Files:
|
||||
|
||||
- `Cargo.toml`
|
||||
- `crates/insomnia/Cargo.toml`
|
||||
- `crates/insomnia/src/main.rs`
|
||||
- `Cargo.lock`
|
||||
- `crates/pod/src/entrypoint.rs`
|
||||
- tests that expect `insomnia` / `insomnia pod`
|
||||
|
||||
Recommendations:
|
||||
|
||||
- `crates/insomnia/` -> `crates/yoi/`
|
||||
- package `insomnia` -> `yoi`
|
||||
- workspace dependency key `insomnia` -> `yoi`
|
||||
- installed binary `insomnia` -> `yoi`
|
||||
- regenerate `Cargo.lock`
|
||||
- update help/tests from `Usage: insomnia ...` to `Usage: yoi ...`
|
||||
- do not ship an `insomnia` binary unless a compatibility alias is explicitly approved
|
||||
|
||||
### Nix package/app/devshell
|
||||
|
||||
Files:
|
||||
|
||||
- `package.nix`
|
||||
- `flake.nix`
|
||||
- `devshell.nix` validation surface
|
||||
|
||||
Recommendations:
|
||||
|
||||
- `pname = "insomnia"` -> `pname = "yoi"`
|
||||
- flake description should say Yoi
|
||||
- flake app should point at `${package}/bin/yoi`
|
||||
- expose `yoi` package/app outputs
|
||||
- avoid long-term `insomnia` public output aliases
|
||||
|
||||
### CLI/runtime command surfaces
|
||||
|
||||
Files:
|
||||
|
||||
- `crates/insomnia/src/main.rs`
|
||||
- `crates/pod/src/entrypoint.rs`
|
||||
- `crates/client/src/runtime_command.rs`
|
||||
- `crates/client/src/spawn.rs`
|
||||
- `docs/environment.md`
|
||||
|
||||
Recommendations:
|
||||
|
||||
- `insomnia` -> `yoi`
|
||||
- `insomnia pod` -> `yoi pod`
|
||||
- `INSOMNIA_POD_RUNTIME_COMMAND` -> `YOI_POD_RUNTIME_COMMAND`
|
||||
- `INSOMNIA-READY` -> `YOI-READY`
|
||||
- runtime binary fallback `insomnia` -> `yoi`
|
||||
- update CLI help tests and command examples
|
||||
|
||||
Mixed-version parent/child spawning need not be supported unless explicitly required.
|
||||
|
||||
### Data/config/runtime directories
|
||||
|
||||
Central files/surfaces:
|
||||
|
||||
- `crates/manifest/src/paths.rs`
|
||||
- `crates/pod/src/entrypoint.rs`
|
||||
- `crates/session-store/src/fs_store.rs`
|
||||
- `crates/pod-registry/src/table.rs`
|
||||
- `crates/tui/src/single_pod.rs`
|
||||
- `crates/memory/src/workspace.rs`
|
||||
- `.insomnia/manifest.toml`
|
||||
|
||||
Recommendations:
|
||||
|
||||
- `INSOMNIA_HOME` -> `YOI_HOME`
|
||||
- `INSOMNIA_CONFIG_DIR` -> `YOI_CONFIG_DIR`
|
||||
- `INSOMNIA_DATA_DIR` -> `YOI_DATA_DIR`
|
||||
- `INSOMNIA_RUNTIME_DIR` -> `YOI_RUNTIME_DIR`
|
||||
- `~/.insomnia` -> `~/.yoi`
|
||||
- `~/.config/insomnia` -> `~/.config/yoi`
|
||||
- `$XDG_RUNTIME_DIR/insomnia` -> `$XDG_RUNTIME_DIR/yoi`
|
||||
- `/tmp/insomnia-*` -> `/tmp/yoi-*`
|
||||
- `.insomnia/` -> `.yoi/`
|
||||
- `.insomnia/{manifest.toml,workflow,knowledge,memory,prompts}` -> `.yoi/...`
|
||||
|
||||
Migration recommendation:
|
||||
|
||||
- Provide an explicit migration command/documented manual move, or a one-time startup migration if new paths do not exist and old paths do.
|
||||
- Do not keep old and new roots as equal long-term search paths.
|
||||
- Do not bulk-read or rewrite ignored personal `.insomnia/memory` contents during repository cleanup.
|
||||
|
||||
### Environment variables
|
||||
|
||||
Active variables to rename:
|
||||
|
||||
- `INSOMNIA_HOME` -> `YOI_HOME`
|
||||
- `INSOMNIA_CONFIG_DIR` -> `YOI_CONFIG_DIR`
|
||||
- `INSOMNIA_DATA_DIR` -> `YOI_DATA_DIR`
|
||||
- `INSOMNIA_RUNTIME_DIR` -> `YOI_RUNTIME_DIR`
|
||||
- `INSOMNIA_POD_RUNTIME_COMMAND` -> `YOI_POD_RUNTIME_COMMAND`
|
||||
|
||||
Historical/obsolete variables in old docs/work-items can remain if the file is historical.
|
||||
|
||||
### Prompt/profile namespace
|
||||
|
||||
Files:
|
||||
|
||||
- `resources/prompts/system/default.md`
|
||||
- `resources/prompts/system/normal.md`
|
||||
- `resources/prompts/system/pod-orchestration.md`
|
||||
- `resources/prompts/internal/*.md`
|
||||
- `resources/profiles/default.lua`
|
||||
- `crates/manifest/src/profile.rs`
|
||||
- `crates/pod/src/prompt/loader.rs`
|
||||
|
||||
Recommendations:
|
||||
|
||||
- `insomnia system` -> `Yoi system` or `yoi system`
|
||||
- `$insomnia/...` -> `$yoi/...`
|
||||
- `require("insomnia")` -> `require("yoi")`
|
||||
- `require("insomnia.scope")` -> `require("yoi.scope")`
|
||||
- `insomnia.profile` -> `yoi.profile`
|
||||
- `insomnia.lua-profile.v1` -> `yoi.lua-profile.v1`
|
||||
- `.insomnia/prompts` -> `.yoi/prompts`
|
||||
|
||||
Compatibility aliases should be avoided for public release unless separately approved.
|
||||
|
||||
### Active project instructions and docs
|
||||
|
||||
Rename active/live documentation and instructions:
|
||||
|
||||
- `AGENTS.md`
|
||||
- `README.md`
|
||||
- `docs/environment.md`
|
||||
- `docs/manifest-profiles.md`
|
||||
- `docs/pod-factory.md`
|
||||
- active `docs/plan/*.md` and `docs/ref/*.md` as appropriate
|
||||
- active workflow instructions under `.insomnia/workflow/*.md` after path migration
|
||||
|
||||
Do not bulk-rename historical records:
|
||||
|
||||
- closed work items
|
||||
- historical reports in `docs/report/`
|
||||
- `docs/branding.md` old-name rationale
|
||||
- rename ticket title/content where it explicitly describes the transition
|
||||
|
||||
### Tests, snapshots, fixtures
|
||||
|
||||
Likely test surfaces:
|
||||
|
||||
- `crates/pod/src/entrypoint.rs`
|
||||
- `crates/client/src/runtime_command.rs`
|
||||
- `crates/client/src/spawn.rs`
|
||||
- `crates/manifest/src/paths.rs`
|
||||
- `crates/manifest/src/profile.rs`
|
||||
- `crates/memory/src/workspace.rs`
|
||||
- `crates/tools/src/web.rs`
|
||||
- `crates/pod/tests/*.rs`
|
||||
|
||||
Recommendations:
|
||||
|
||||
- expected CLI help: `insomnia` -> `yoi`
|
||||
- env tests: `INSOMNIA_*` -> `YOI_*`
|
||||
- path tests: `.insomnia` -> `.yoi`
|
||||
- Lua profile tests: `insomnia` module -> `yoi`
|
||||
- generic test sample strings should be renamed unless intentionally testing migration
|
||||
|
||||
### User-visible diagnostics/log messages
|
||||
|
||||
Relevant surfaces:
|
||||
|
||||
- `crates/pod/src/entrypoint.rs`
|
||||
- `crates/client/src/runtime_command.rs`
|
||||
- `crates/pod-registry/src/table.rs`
|
||||
- `crates/manifest/src/profile.rs`
|
||||
- `crates/pod/src/prompt/loader.rs`
|
||||
- `crates/insomnia/src/memory_lint.rs`
|
||||
- TUI status/action messages that show paths or commands
|
||||
|
||||
Recommendations:
|
||||
|
||||
- diagnostics should use `YOI_*`, `$yoi`, `require("yoi")`, `yoi pod`, and `.yoi` paths
|
||||
- old names should appear only in explicit migration diagnostics
|
||||
|
||||
### Repository/path names outside code
|
||||
|
||||
Surfaces:
|
||||
|
||||
- local checkout path `/home/hare/Projects/insomnia`
|
||||
- repository name
|
||||
- worktree names
|
||||
- current runtime output paths under `/run/user/1000/insomnia/...`
|
||||
|
||||
Recommendations:
|
||||
|
||||
- Public repository name should eventually become `yoi`.
|
||||
- Local checkout/runtime output paths are not first-pass code-edit targets.
|
||||
- Current session/tool output paths are generated/historical.
|
||||
|
||||
## Intentionally retained old-name references
|
||||
|
||||
Do not bulk-rename by default:
|
||||
|
||||
- `docs/branding.md` rationale explaining the collision and rename
|
||||
- this rename work item where it states old-to-new transition
|
||||
- closed work items under `work-items/closed/`
|
||||
- historical `docs/report/` files
|
||||
- generated/personal `.insomnia/memory` content
|
||||
- external session logs under old runtime paths
|
||||
- migration tests/docs that explicitly refer to legacy `insomnia` names
|
||||
|
||||
## Proposed implementation order
|
||||
|
||||
1. Decide canonical spellings:
|
||||
- Product: `Yoi`
|
||||
- command/package/crate: `yoi`
|
||||
- dotdir: `.yoi`
|
||||
- env prefix: `YOI_`
|
||||
- builtin prompt prefix: `$yoi`
|
||||
- Lua module namespace: `yoi`
|
||||
2. Rename Cargo/product package:
|
||||
- move `crates/insomnia` -> `crates/yoi`
|
||||
- update workspace manifest, package names, dependency keys, tests
|
||||
- confirm `cargo metadata`
|
||||
3. Rename Nix packaging:
|
||||
- update `package.nix`, `flake.nix`, app program, install check
|
||||
4. Rename CLI/runtime command surfaces:
|
||||
- command/help/examples/tests
|
||||
- runtime override env var
|
||||
- ready marker
|
||||
- binary fallback
|
||||
5. Rename path/env authority:
|
||||
- centralize in `crates/manifest/src/paths.rs`
|
||||
- decide legacy path migration behavior
|
||||
6. Rename workspace conventions:
|
||||
- `.insomnia` -> `.yoi`
|
||||
- move tracked workflow/knowledge/manifest assets
|
||||
- avoid rewriting generated personal memory
|
||||
7. Rename profile/prompt namespace:
|
||||
- `$yoi`
|
||||
- `require("yoi")`
|
||||
- builtin profile/schema/source strings
|
||||
8. Update active docs and project instructions.
|
||||
9. Update tests/fixtures and add migration tests if migration is implemented.
|
||||
10. Final grep/audit pass and classify remaining hits.
|
||||
|
||||
## Validation checklist
|
||||
|
||||
Minimum validation after implementation:
|
||||
|
||||
- `cargo check --workspace`
|
||||
- `cargo test --workspace` or standard targeted test set
|
||||
- `cargo metadata --format-version 1`
|
||||
- `cargo run -p yoi -- --help` shows `yoi`
|
||||
- `cargo run -p yoi -- pod --help` shows `Usage: yoi pod`
|
||||
- spawn path test verifies parent expects `YOI-READY`
|
||||
- env/path tests verify `YOI_HOME`, `YOI_CONFIG_DIR`, `YOI_DATA_DIR`, `YOI_RUNTIME_DIR`, `YOI_POD_RUNTIME_COMMAND`
|
||||
- runtime path tests verify `~/.yoi`, `~/.config/yoi`, `$XDG_RUNTIME_DIR/yoi`, `.yoi/memory`, `.yoi/workflow`, `.yoi/knowledge`
|
||||
- Lua profile tests verify `require("yoi")` and no required `require("insomnia")`
|
||||
- prompt loader tests verify `$yoi/...` and `.yoi/prompts`
|
||||
- Nix validation verifies `$out/bin/yoi` and flake app launch
|
||||
- final residual search:
|
||||
|
||||
```bash
|
||||
git grep -n -I -E 'insomnia|Insomnia|INSOMNIA|\.insomnia'
|
||||
```
|
||||
|
||||
Every remaining hit must be branding rationale, migration code/test/doc, closed historical record, generated/personal ignored state, or an explicitly preserved external reference.
|
||||
@@ -0,0 +1,30 @@
|
||||
---
|
||||
title: "Rename project from Insomnia to Yoi"
|
||||
state: "closed"
|
||||
created_at: "2026-06-01T08:06:14Z"
|
||||
updated_at: "2026-06-01T09:49:11Z"
|
||||
---
|
||||
|
||||
## Background
|
||||
|
||||
The project name `Insomnia` collides with Kong's established Insomnia API/developer tooling product, including public product naming, package/binary naming, CLI/tooling, plugins, documentation, and `.insomnia` project data. The project will adopt **Yoi** as the new public identity, from the archaic Japanese word **夜居**: staying present at night / night duty / remaining at the workplace until late.
|
||||
|
||||
Branding rationale and adoption checks are recorded in `docs/branding.md`. Nixpkgs name availability is the required distribution check and currently passes; broader package-manager checks found only an npm package-name collision, which is not a current distribution blocker.
|
||||
|
||||
## Requirements
|
||||
|
||||
- Rename the public product identity from Insomnia to Yoi.
|
||||
- Rename user-facing CLI/package/config/runtime surfaces that currently expose `insomnia` where doing so is not purely internal implementation detail.
|
||||
- Prefer a clean public identity; do not add `insomnia` compatibility aliases, legacy env aliases, prompt/profile aliases, or old-path handling.
|
||||
- Preserve existing project behavior while renaming, without speculative redesign.
|
||||
- Keep generated/personal state handling safe; do not expose secrets or private session content during broad rename audits.
|
||||
- Update documentation, prompts, diagnostics, package metadata, and release-facing text consistently.
|
||||
|
||||
## Acceptance criteria
|
||||
|
||||
- The installable main binary/package identity is `yoi` rather than `insomnia`.
|
||||
- Nix package/app outputs expose `yoi` and no longer center the long-term public output on `insomnia`.
|
||||
- User data/config/workspace directories and environment variable prefixes are renamed directly, without old-name compatibility aliases.
|
||||
- User-visible docs, prompts, diagnostics, and command help refer to Yoi where appropriate.
|
||||
- Repository references to `insomnia` are either renamed, intentionally retained as historical/internal/generated context, or listed in the implementation report as deferred/intentional.
|
||||
- Tests and packaging checks relevant to renamed surfaces pass.
|
||||
@@ -0,0 +1,12 @@
|
||||
Completed the clean Yoi rename implementation.
|
||||
|
||||
The public identity is now `Yoi` / `Yoi agent` for prose, `yoi` for package/CLI names, `.yoi` for local project/data paths, and `YOI_*` / `YOI-READY` only for environment variables and protocol literals.
|
||||
|
||||
No old `insomnia` command aliases, env aliases, prompt/profile aliases, old search roots, or old-path handling are implemented. Existing dogfood state was moved manually outside the codebase.
|
||||
|
||||
Validation recorded in `artifacts/implementation-report.md`; final focused checks after correction passed:
|
||||
|
||||
- `cargo fmt --check`
|
||||
- `cargo test -p manifest paths`
|
||||
- `cargo test -p pod spawn_profile_selector_accepts_default_inherit_and_registry`
|
||||
- `git diff --check`
|
||||
@@ -0,0 +1,494 @@
|
||||
<!-- event: create author: tickets.sh at: 2026-06-01T08:06:14Z -->
|
||||
|
||||
## Created
|
||||
|
||||
Created by tickets.sh create.
|
||||
|
||||
---
|
||||
|
||||
<!-- event: plan author: hare at: 2026-06-01T08:19:42Z -->
|
||||
|
||||
## Plan
|
||||
|
||||
# Yoi rename survey
|
||||
|
||||
Generated by read-only Pod `surveyor-yoi-rename-20260601` on 2026-06-01.
|
||||
|
||||
## Executive stance
|
||||
|
||||
Move implementation/public identity to `Yoi` / `yoi` / `.yoi` / `YOI_*` everywhere that is product, runtime, config, CLI, package, prompt, profile, diagnostic, test, or public documentation surface.
|
||||
|
||||
Do not bulk-rename historical records, generated personal memory, old work-item threads, or rationale docs except where they currently function as live project instructions or public docs.
|
||||
|
||||
A small bounded migration path is appropriate for existing dogfood data directories, but old public aliases should not be preserved long-term unless explicitly reapproved.
|
||||
|
||||
## Major rename surfaces
|
||||
|
||||
### Cargo package, crate, binary, lockfile
|
||||
|
||||
Files:
|
||||
|
||||
- `Cargo.toml`
|
||||
- `crates/insomnia/Cargo.toml`
|
||||
- `crates/insomnia/src/main.rs`
|
||||
- `Cargo.lock`
|
||||
- `crates/pod/src/entrypoint.rs`
|
||||
- tests that expect `insomnia` / `insomnia pod`
|
||||
|
||||
Recommendations:
|
||||
|
||||
- `crates/insomnia/` -> `crates/yoi/`
|
||||
- package `insomnia` -> `yoi`
|
||||
- workspace dependency key `insomnia` -> `yoi`
|
||||
- installed binary `insomnia` -> `yoi`
|
||||
- regenerate `Cargo.lock`
|
||||
- update help/tests from `Usage: insomnia ...` to `Usage: yoi ...`
|
||||
- do not ship an `insomnia` binary unless a compatibility alias is explicitly approved
|
||||
|
||||
### Nix package/app/devshell
|
||||
|
||||
Files:
|
||||
|
||||
- `package.nix`
|
||||
- `flake.nix`
|
||||
- `devshell.nix` validation surface
|
||||
|
||||
Recommendations:
|
||||
|
||||
- `pname = "insomnia"` -> `pname = "yoi"`
|
||||
- flake description should say Yoi
|
||||
- flake app should point at `${package}/bin/yoi`
|
||||
- expose `yoi` package/app outputs
|
||||
- avoid long-term `insomnia` public output aliases
|
||||
|
||||
### CLI/runtime command surfaces
|
||||
|
||||
Files:
|
||||
|
||||
- `crates/insomnia/src/main.rs`
|
||||
- `crates/pod/src/entrypoint.rs`
|
||||
- `crates/client/src/runtime_command.rs`
|
||||
- `crates/client/src/spawn.rs`
|
||||
- `docs/environment.md`
|
||||
|
||||
Recommendations:
|
||||
|
||||
- `insomnia` -> `yoi`
|
||||
- `insomnia pod` -> `yoi pod`
|
||||
- `INSOMNIA_POD_RUNTIME_COMMAND` -> `YOI_POD_RUNTIME_COMMAND`
|
||||
- `INSOMNIA-READY` -> `YOI-READY`
|
||||
- runtime binary fallback `insomnia` -> `yoi`
|
||||
- update CLI help tests and command examples
|
||||
|
||||
Mixed-version parent/child spawning need not be supported unless explicitly required.
|
||||
|
||||
### Data/config/runtime directories
|
||||
|
||||
Central files/surfaces:
|
||||
|
||||
- `crates/manifest/src/paths.rs`
|
||||
- `crates/pod/src/entrypoint.rs`
|
||||
- `crates/session-store/src/fs_store.rs`
|
||||
- `crates/pod-registry/src/table.rs`
|
||||
- `crates/tui/src/single_pod.rs`
|
||||
- `crates/memory/src/workspace.rs`
|
||||
- `.insomnia/manifest.toml`
|
||||
|
||||
Recommendations:
|
||||
|
||||
- `INSOMNIA_HOME` -> `YOI_HOME`
|
||||
- `INSOMNIA_CONFIG_DIR` -> `YOI_CONFIG_DIR`
|
||||
- `INSOMNIA_DATA_DIR` -> `YOI_DATA_DIR`
|
||||
- `INSOMNIA_RUNTIME_DIR` -> `YOI_RUNTIME_DIR`
|
||||
- `~/.insomnia` -> `~/.yoi`
|
||||
- `~/.config/insomnia` -> `~/.config/yoi`
|
||||
- `$XDG_RUNTIME_DIR/insomnia` -> `$XDG_RUNTIME_DIR/yoi`
|
||||
- `/tmp/insomnia-*` -> `/tmp/yoi-*`
|
||||
- `.insomnia/` -> `.yoi/`
|
||||
- `.insomnia/{manifest.toml,workflow,knowledge,memory,prompts}` -> `.yoi/...`
|
||||
|
||||
Migration recommendation:
|
||||
|
||||
- Provide an explicit migration command/documented manual move, or a one-time startup migration if new paths do not exist and old paths do.
|
||||
- Do not keep old and new roots as equal long-term search paths.
|
||||
- Do not bulk-read or rewrite ignored personal `.insomnia/memory` contents during repository cleanup.
|
||||
|
||||
### Environment variables
|
||||
|
||||
Active variables to rename:
|
||||
|
||||
- `INSOMNIA_HOME` -> `YOI_HOME`
|
||||
- `INSOMNIA_CONFIG_DIR` -> `YOI_CONFIG_DIR`
|
||||
- `INSOMNIA_DATA_DIR` -> `YOI_DATA_DIR`
|
||||
- `INSOMNIA_RUNTIME_DIR` -> `YOI_RUNTIME_DIR`
|
||||
- `INSOMNIA_POD_RUNTIME_COMMAND` -> `YOI_POD_RUNTIME_COMMAND`
|
||||
|
||||
Historical/obsolete variables in old docs/work-items can remain if the file is historical.
|
||||
|
||||
### Prompt/profile namespace
|
||||
|
||||
Files:
|
||||
|
||||
- `resources/prompts/system/default.md`
|
||||
- `resources/prompts/system/normal.md`
|
||||
- `resources/prompts/system/pod-orchestration.md`
|
||||
- `resources/prompts/internal/*.md`
|
||||
- `resources/profiles/default.lua`
|
||||
- `crates/manifest/src/profile.rs`
|
||||
- `crates/pod/src/prompt/loader.rs`
|
||||
|
||||
Recommendations:
|
||||
|
||||
- `insomnia system` -> `Yoi system` or `yoi system`
|
||||
- `$insomnia/...` -> `$yoi/...`
|
||||
- `require("insomnia")` -> `require("yoi")`
|
||||
- `require("insomnia.scope")` -> `require("yoi.scope")`
|
||||
- `insomnia.profile` -> `yoi.profile`
|
||||
- `insomnia.lua-profile.v1` -> `yoi.lua-profile.v1`
|
||||
- `.insomnia/prompts` -> `.yoi/prompts`
|
||||
|
||||
Compatibility aliases should be avoided for public release unless separately approved.
|
||||
|
||||
### Active project instructions and docs
|
||||
|
||||
Rename active/live documentation and instructions:
|
||||
|
||||
- `AGENTS.md`
|
||||
- `README.md`
|
||||
- `docs/environment.md`
|
||||
- `docs/manifest-profiles.md`
|
||||
- `docs/pod-factory.md`
|
||||
- active `docs/plan/*.md` and `docs/ref/*.md` as appropriate
|
||||
- active workflow instructions under `.insomnia/workflow/*.md` after path migration
|
||||
|
||||
Do not bulk-rename historical records:
|
||||
|
||||
- closed work items
|
||||
- historical reports in `docs/report/`
|
||||
- `docs/branding.md` old-name rationale
|
||||
- rename ticket title/content where it explicitly describes the transition
|
||||
|
||||
### Tests, snapshots, fixtures
|
||||
|
||||
Likely test surfaces:
|
||||
|
||||
- `crates/pod/src/entrypoint.rs`
|
||||
- `crates/client/src/runtime_command.rs`
|
||||
- `crates/client/src/spawn.rs`
|
||||
- `crates/manifest/src/paths.rs`
|
||||
- `crates/manifest/src/profile.rs`
|
||||
- `crates/memory/src/workspace.rs`
|
||||
- `crates/tools/src/web.rs`
|
||||
- `crates/pod/tests/*.rs`
|
||||
|
||||
Recommendations:
|
||||
|
||||
- expected CLI help: `insomnia` -> `yoi`
|
||||
- env tests: `INSOMNIA_*` -> `YOI_*`
|
||||
- path tests: `.insomnia` -> `.yoi`
|
||||
- Lua profile tests: `insomnia` module -> `yoi`
|
||||
- generic test sample strings should be renamed unless intentionally testing migration
|
||||
|
||||
### User-visible diagnostics/log messages
|
||||
|
||||
Relevant surfaces:
|
||||
|
||||
- `crates/pod/src/entrypoint.rs`
|
||||
- `crates/client/src/runtime_command.rs`
|
||||
- `crates/pod-registry/src/table.rs`
|
||||
- `crates/manifest/src/profile.rs`
|
||||
- `crates/pod/src/prompt/loader.rs`
|
||||
- `crates/insomnia/src/memory_lint.rs`
|
||||
- TUI status/action messages that show paths or commands
|
||||
|
||||
Recommendations:
|
||||
|
||||
- diagnostics should use `YOI_*`, `$yoi`, `require("yoi")`, `yoi pod`, and `.yoi` paths
|
||||
- old names should appear only in explicit migration diagnostics
|
||||
|
||||
### Repository/path names outside code
|
||||
|
||||
Surfaces:
|
||||
|
||||
- local checkout path `/home/hare/Projects/insomnia`
|
||||
- repository name
|
||||
- worktree names
|
||||
- current runtime output paths under `/run/user/1000/insomnia/...`
|
||||
|
||||
Recommendations:
|
||||
|
||||
- Public repository name should eventually become `yoi`.
|
||||
- Local checkout/runtime output paths are not first-pass code-edit targets.
|
||||
- Current session/tool output paths are generated/historical.
|
||||
|
||||
## Intentionally retained old-name references
|
||||
|
||||
Do not bulk-rename by default:
|
||||
|
||||
- `docs/branding.md` rationale explaining the collision and rename
|
||||
- this rename work item where it states old-to-new transition
|
||||
- closed work items under `work-items/closed/`
|
||||
- historical `docs/report/` files
|
||||
- generated/personal `.insomnia/memory` content
|
||||
- external session logs under old runtime paths
|
||||
- migration tests/docs that explicitly refer to legacy `insomnia` names
|
||||
|
||||
## Proposed implementation order
|
||||
|
||||
1. Decide canonical spellings:
|
||||
- Product: `Yoi`
|
||||
- command/package/crate: `yoi`
|
||||
- dotdir: `.yoi`
|
||||
- env prefix: `YOI_`
|
||||
- builtin prompt prefix: `$yoi`
|
||||
- Lua module namespace: `yoi`
|
||||
2. Rename Cargo/product package:
|
||||
- move `crates/insomnia` -> `crates/yoi`
|
||||
- update workspace manifest, package names, dependency keys, tests
|
||||
- confirm `cargo metadata`
|
||||
3. Rename Nix packaging:
|
||||
- update `package.nix`, `flake.nix`, app program, install check
|
||||
4. Rename CLI/runtime command surfaces:
|
||||
- command/help/examples/tests
|
||||
- runtime override env var
|
||||
- ready marker
|
||||
- binary fallback
|
||||
5. Rename path/env authority:
|
||||
- centralize in `crates/manifest/src/paths.rs`
|
||||
- decide legacy path migration behavior
|
||||
6. Rename workspace conventions:
|
||||
- `.insomnia` -> `.yoi`
|
||||
- move tracked workflow/knowledge/manifest assets
|
||||
- avoid rewriting generated personal memory
|
||||
7. Rename profile/prompt namespace:
|
||||
- `$yoi`
|
||||
- `require("yoi")`
|
||||
- builtin profile/schema/source strings
|
||||
8. Update active docs and project instructions.
|
||||
9. Update tests/fixtures and add migration tests if migration is implemented.
|
||||
10. Final grep/audit pass and classify remaining hits.
|
||||
|
||||
## Validation checklist
|
||||
|
||||
Minimum validation after implementation:
|
||||
|
||||
- `cargo check --workspace`
|
||||
- `cargo test --workspace` or standard targeted test set
|
||||
- `cargo metadata --format-version 1`
|
||||
- `cargo run -p yoi -- --help` shows `yoi`
|
||||
- `cargo run -p yoi -- pod --help` shows `Usage: yoi pod`
|
||||
- spawn path test verifies parent expects `YOI-READY`
|
||||
- env/path tests verify `YOI_HOME`, `YOI_CONFIG_DIR`, `YOI_DATA_DIR`, `YOI_RUNTIME_DIR`, `YOI_POD_RUNTIME_COMMAND`
|
||||
- runtime path tests verify `~/.yoi`, `~/.config/yoi`, `$XDG_RUNTIME_DIR/yoi`, `.yoi/memory`, `.yoi/workflow`, `.yoi/knowledge`
|
||||
- Lua profile tests verify `require("yoi")` and no required `require("insomnia")`
|
||||
- prompt loader tests verify `$yoi/...` and `.yoi/prompts`
|
||||
- Nix validation verifies `$out/bin/yoi` and flake app launch
|
||||
- final residual search:
|
||||
|
||||
```bash
|
||||
git grep -n -I -E 'insomnia|Insomnia|INSOMNIA|\.insomnia'
|
||||
```
|
||||
|
||||
Every remaining hit must be branding rationale, migration code/test/doc, closed historical record, generated/personal ignored state, or an explicitly preserved external reference.
|
||||
|
||||
|
||||
---
|
||||
|
||||
<!-- event: decision author: hare at: 2026-06-01T08:29:35Z -->
|
||||
|
||||
## Decision
|
||||
|
||||
Decision: adopt Yoi with no compatibility aliases.
|
||||
|
||||
The rename should be implemented as a clean public identity change: `Yoi` / `yoi` / `.yoi` / `YOI_*`. Do not ship old `insomnia` binaries, command aliases, prompt/profile aliases, or environment-variable aliases.
|
||||
|
||||
For existing dogfood/user state, implement only a bounded one-shot migration path from old local paths to the new Yoi paths. Old and new roots must not remain equal long-term search roots.
|
||||
|
||||
|
||||
---
|
||||
|
||||
<!-- event: implementation_report author: hare at: 2026-06-01T08:50:59Z -->
|
||||
|
||||
## Implementation report
|
||||
|
||||
# Implementation report: Yoi rename
|
||||
|
||||
Implemented a clean public rename from Insomnia to Yoi.
|
||||
|
||||
## Scope completed
|
||||
|
||||
- Renamed the main Cargo package/crate/binary from `insomnia` to `yoi`:
|
||||
- `crates/insomnia/` -> `crates/yoi/`
|
||||
- workspace package/dependency metadata updated
|
||||
- CLI help and tests now use `yoi`
|
||||
- Updated Nix packaging:
|
||||
- package `pname` is `yoi`
|
||||
- flake package/app output points at `bin/yoi`
|
||||
- `cargoHash` refreshed after the lock/vendor input changed
|
||||
- Updated CLI/runtime command surfaces:
|
||||
- `insomnia pod` -> `yoi pod`
|
||||
- `INSOMNIA_POD_RUNTIME_COMMAND` -> `YOI_POD_RUNTIME_COMMAND`
|
||||
- `INSOMNIA-READY` -> `YOI-READY`
|
||||
- runtime fallback command now targets `yoi`
|
||||
- Updated path/env authority:
|
||||
- `.insomnia` -> `.yoi`
|
||||
- `~/.insomnia` -> `~/.yoi`
|
||||
- config/runtime/data env prefixes use `YOI_*`
|
||||
- Implemented a bounded one-shot migration for persistent local roots:
|
||||
- `$HOME/.insomnia` -> `$HOME/.yoi`
|
||||
- `$XDG_CONFIG_HOME/insomnia` or `$HOME/.config/insomnia` -> Yoi equivalents
|
||||
- only when the corresponding new `YOI_*` override is not set and the new target does not already exist
|
||||
- no old env aliases, command aliases, prompt/profile aliases, or long-term old root search paths are supported
|
||||
- runtime directories are not migrated because they are transient and may contain live sockets
|
||||
- Updated prompt/profile namespace:
|
||||
- `$insomnia` -> `$yoi`
|
||||
- `require("insomnia")` -> `require("yoi")`
|
||||
- Lua profile API/version strings updated to Yoi naming
|
||||
- Updated active docs, prompt resources, tests, diagnostics, examples, and help strings.
|
||||
- Kept old-name references only where they are intentional migration/rationale references, such as `docs/branding.md`, `docs/environment.md`, path migration code/tests, and historical work items/reports.
|
||||
|
||||
## Residual old-name references in active surfaces
|
||||
|
||||
The active non-historical residual grep is intentional:
|
||||
|
||||
- `crates/manifest/src/paths.rs`: one-shot migration source paths and tests
|
||||
- `docs/environment.md`: migration documentation and explicit no-alias policy
|
||||
- `package.nix`: excludes legacy `.insomnia` local state from package sources
|
||||
|
||||
Historical/rationale records under `docs/report/`, `docs/branding.md`, and work-item history were not bulk-renamed.
|
||||
|
||||
## Validation
|
||||
|
||||
Passed:
|
||||
|
||||
- `cargo fmt --check`
|
||||
- `cargo check --workspace`
|
||||
- `cargo test -p manifest`
|
||||
- `cargo test -p yoi`
|
||||
- `cargo test -p client runtime_command`
|
||||
- `cargo test -p pod entrypoint`
|
||||
- `cargo test -p pod prompt::loader`
|
||||
- `cargo test -p manifest profile`
|
||||
- `target/debug/yoi --help`
|
||||
- `target/debug/yoi pod --help`
|
||||
- `nix eval .#packages.x86_64-linux.default.pname --raw`
|
||||
- `nix eval .#apps.x86_64-linux.default.program --raw`
|
||||
- `nix build .#yoi --no-link`
|
||||
- `git diff --check`
|
||||
|
||||
Observed warnings are pre-existing unused-code warnings in `llm-worker` and `tui`.
|
||||
|
||||
|
||||
---
|
||||
|
||||
<!-- event: decision author: hare at: 2026-06-01T09:39:00Z -->
|
||||
|
||||
## Decision
|
||||
|
||||
Decision correction: keep the Yoi rename clean.
|
||||
|
||||
Do not implement old-name command aliases, old environment variable aliases, prompt/profile aliases, old search roots, or old path handling in the codebase. Existing local dogfood state is handled manually outside the implementation.
|
||||
|
||||
|
||||
---
|
||||
|
||||
<!-- event: decision author: hare at: 2026-06-01T09:47:15Z -->
|
||||
|
||||
## Decision
|
||||
|
||||
Naming decision: the formal product name is `Yoi`, or `Yoi agent` where a fuller phrase is useful. Do not use all-caps `YOI` as the product name; reserve uppercase `YOI_*` / `YOI-READY` for environment variables and protocol literals only.
|
||||
|
||||
|
||||
---
|
||||
|
||||
<!-- event: implementation_report author: hare at: 2026-06-01T09:49:11Z -->
|
||||
|
||||
## Implementation report
|
||||
|
||||
# Implementation report: Yoi rename
|
||||
|
||||
Implemented a clean public rename from Insomnia to Yoi.
|
||||
|
||||
## Scope completed
|
||||
|
||||
- Renamed the main Cargo package/crate/binary from `insomnia` to `yoi`:
|
||||
- `crates/insomnia/` -> `crates/yoi/`
|
||||
- workspace package/dependency metadata updated
|
||||
- CLI help and tests now use `yoi`
|
||||
- Updated Nix packaging:
|
||||
- package `pname` is `yoi`
|
||||
- flake package/app output points at `bin/yoi`
|
||||
- `cargoHash` refreshed after the lock/vendor input changed
|
||||
- Updated CLI/runtime command surfaces:
|
||||
- `insomnia pod` -> `yoi pod`
|
||||
- `INSOMNIA_POD_RUNTIME_COMMAND` -> `YOI_POD_RUNTIME_COMMAND`
|
||||
- `INSOMNIA-READY` -> `YOI-READY`
|
||||
- runtime fallback command now targets `yoi`
|
||||
- Updated path/env authority:
|
||||
- `.insomnia` -> `.yoi`
|
||||
- `~/.insomnia` -> `~/.yoi`
|
||||
- config/runtime/data env prefixes use `YOI_*`
|
||||
- Updated prompt/profile namespace:
|
||||
- `$insomnia` -> `$yoi`
|
||||
- `require("insomnia")` -> `require("yoi")`
|
||||
- Lua profile API/version strings updated to Yoi naming
|
||||
- Updated active docs, prompt resources, tests, diagnostics, examples, and help strings.
|
||||
- Kept old-name references only where they are rationale or historical records, such as `docs/branding.md`, historical reports, and work-item history.
|
||||
|
||||
## Compatibility decision
|
||||
|
||||
No old command aliases, old environment-variable aliases, old prompt/profile aliases, or old search roots are implemented. Yoi paths are the active paths.
|
||||
|
||||
## Residual old-name references in active surfaces
|
||||
|
||||
The active non-historical residual grep should not include old product/runtime identifiers. Remaining old-name references are expected only in rationale/historical records.
|
||||
|
||||
## Validation
|
||||
|
||||
Passed before the correction to remove compatibility remnants:
|
||||
|
||||
- `cargo fmt --check`
|
||||
- `cargo check --workspace`
|
||||
- `cargo test -p manifest`
|
||||
- `cargo test -p yoi`
|
||||
- `cargo test -p client runtime_command`
|
||||
- `cargo test -p pod entrypoint`
|
||||
- `cargo test -p pod prompt::loader`
|
||||
- `cargo test -p manifest profile`
|
||||
- `target/debug/yoi --help`
|
||||
- `target/debug/yoi pod --help`
|
||||
- `nix eval .#packages.x86_64-linux.default.pname --raw`
|
||||
- `nix eval .#apps.x86_64-linux.default.program --raw`
|
||||
- `nix build .#yoi --no-link`
|
||||
- `git diff --check`
|
||||
|
||||
Additional validation after removing compatibility remnants:
|
||||
|
||||
- `cargo fmt --check`
|
||||
- `cargo test -p manifest paths`
|
||||
- `cargo test -p pod spawn_profile_selector_accepts_default_inherit_and_registry`
|
||||
|
||||
Run the final full validation set again before closing this work item.
|
||||
|
||||
|
||||
---
|
||||
|
||||
<!-- event: close author: hare at: 2026-06-01T09:49:11Z status: closed -->
|
||||
|
||||
## Closed
|
||||
|
||||
Completed the clean Yoi rename implementation.
|
||||
|
||||
The public identity is now `Yoi` / `Yoi agent` for prose, `yoi` for package/CLI names, `.yoi` for local project/data paths, and `YOI_*` / `YOI-READY` only for environment variables and protocol literals.
|
||||
|
||||
No old `insomnia` command aliases, env aliases, prompt/profile aliases, old search roots, or old-path handling are implemented. Existing dogfood state was moved manually outside the codebase.
|
||||
|
||||
Validation recorded in `artifacts/implementation-report.md`; final focused checks after correction passed:
|
||||
|
||||
- `cargo fmt --check`
|
||||
- `cargo test -p manifest paths`
|
||||
- `cargo test -p pod spawn_profile_selector_accepts_default_inherit_and_registry`
|
||||
- `git diff --check`
|
||||
|
||||
|
||||
---
|
||||
Reference in New Issue
Block a user