16 KiB
Created
Created by tickets.sh create.
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.tomlcrates/insomnia/Cargo.tomlcrates/insomnia/src/main.rsCargo.lockcrates/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 ...toUsage: yoi ... - do not ship an
insomniabinary unless a compatibility alias is explicitly approved
Nix package/app/devshell
Files:
package.nixflake.nixdevshell.nixvalidation surface
Recommendations:
pname = "insomnia"->pname = "yoi"- flake description should say Yoi
- flake app should point at
${package}/bin/yoi - expose
yoipackage/app outputs - avoid long-term
insomniapublic output aliases
CLI/runtime command surfaces
Files:
crates/insomnia/src/main.rscrates/pod/src/entrypoint.rscrates/client/src/runtime_command.rscrates/client/src/spawn.rsdocs/environment.md
Recommendations:
insomnia->yoiinsomnia pod->yoi podINSOMNIA_POD_RUNTIME_COMMAND->YOI_POD_RUNTIME_COMMANDINSOMNIA-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.rscrates/pod/src/entrypoint.rscrates/session-store/src/fs_store.rscrates/pod-registry/src/table.rscrates/tui/src/single_pod.rscrates/memory/src/workspace.rs.insomnia/manifest.toml
Recommendations:
INSOMNIA_HOME->YOI_HOMEINSOMNIA_CONFIG_DIR->YOI_CONFIG_DIRINSOMNIA_DATA_DIR->YOI_DATA_DIRINSOMNIA_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/memorycontents during repository cleanup.
Environment variables
Active variables to rename:
INSOMNIA_HOME->YOI_HOMEINSOMNIA_CONFIG_DIR->YOI_CONFIG_DIRINSOMNIA_DATA_DIR->YOI_DATA_DIRINSOMNIA_RUNTIME_DIR->YOI_RUNTIME_DIRINSOMNIA_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.mdresources/prompts/system/normal.mdresources/prompts/system/pod-orchestration.mdresources/prompts/internal/*.mdresources/profiles/default.luacrates/manifest/src/profile.rscrates/pod/src/prompt/loader.rs
Recommendations:
insomnia system->Yoi systemoryoi system$insomnia/...->$yoi/...require("insomnia")->require("yoi")require("insomnia.scope")->require("yoi.scope")insomnia.profile->yoi.profileinsomnia.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.mdREADME.mddocs/environment.mddocs/manifest-profiles.mddocs/pod-factory.md- active
docs/plan/*.mdanddocs/ref/*.mdas appropriate - active workflow instructions under
.insomnia/workflow/*.mdafter path migration
Do not bulk-rename historical records:
- closed work items
- historical reports in
docs/report/ docs/branding.mdold-name rationale- rename ticket title/content where it explicitly describes the transition
Tests, snapshots, fixtures
Likely test surfaces:
crates/pod/src/entrypoint.rscrates/client/src/runtime_command.rscrates/client/src/spawn.rscrates/manifest/src/paths.rscrates/manifest/src/profile.rscrates/memory/src/workspace.rscrates/tools/src/web.rscrates/pod/tests/*.rs
Recommendations:
- expected CLI help:
insomnia->yoi - env tests:
INSOMNIA_*->YOI_* - path tests:
.insomnia->.yoi - Lua profile tests:
insomniamodule ->yoi - generic test sample strings should be renamed unless intentionally testing migration
User-visible diagnostics/log messages
Relevant surfaces:
crates/pod/src/entrypoint.rscrates/client/src/runtime_command.rscrates/pod-registry/src/table.rscrates/manifest/src/profile.rscrates/pod/src/prompt/loader.rscrates/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.yoipaths - 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.mdrationale 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/memorycontent - external session logs under old runtime paths
- migration tests/docs that explicitly refer to legacy
insomnianames
Proposed implementation order
- Decide canonical spellings:
- Product:
Yoi - command/package/crate:
yoi - dotdir:
.yoi - env prefix:
YOI_ - builtin prompt prefix:
$yoi - Lua module namespace:
yoi
- Product:
- Rename Cargo/product package:
- move
crates/insomnia->crates/yoi - update workspace manifest, package names, dependency keys, tests
- confirm
cargo metadata
- move
- Rename Nix packaging:
- update
package.nix,flake.nix, app program, install check
- update
- Rename CLI/runtime command surfaces:
- command/help/examples/tests
- runtime override env var
- ready marker
- binary fallback
- Rename path/env authority:
- centralize in
crates/manifest/src/paths.rs - decide legacy path migration behavior
- centralize in
- Rename workspace conventions:
.insomnia->.yoi- move tracked workflow/knowledge/manifest assets
- avoid rewriting generated personal memory
- Rename profile/prompt namespace:
$yoirequire("yoi")- builtin profile/schema/source strings
- Update active docs and project instructions.
- Update tests/fixtures and add migration tests if migration is implemented.
- Final grep/audit pass and classify remaining hits.
Validation checklist
Minimum validation after implementation:
cargo check --workspacecargo test --workspaceor standard targeted test setcargo metadata --format-version 1cargo run -p yoi -- --helpshowsyoicargo run -p yoi -- pod --helpshowsUsage: 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 requiredrequire("insomnia") - prompt loader tests verify
$yoi/...and.yoi/prompts - Nix validation verifies
$out/bin/yoiand flake app launch - final residual search:
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.
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.
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
insomniatoyoi:crates/insomnia/->crates/yoi/- workspace package/dependency metadata updated
- CLI help and tests now use
yoi
- Updated Nix packaging:
- package
pnameisyoi - flake package/app output points at
bin/yoi cargoHashrefreshed after the lock/vendor input changed
- package
- Updated CLI/runtime command surfaces:
insomnia pod->yoi podINSOMNIA_POD_RUNTIME_COMMAND->YOI_POD_RUNTIME_COMMANDINSOMNIA-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/insomniaor$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->$yoirequire("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 testsdocs/environment.md: migration documentation and explicit no-alias policypackage.nix: excludes legacy.insomnialocal 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 --checkcargo check --workspacecargo test -p manifestcargo test -p yoicargo test -p client runtime_commandcargo test -p pod entrypointcargo test -p pod prompt::loadercargo test -p manifest profiletarget/debug/yoi --helptarget/debug/yoi pod --helpnix eval .#packages.x86_64-linux.default.pname --rawnix eval .#apps.x86_64-linux.default.program --rawnix build .#yoi --no-linkgit diff --check
Observed warnings are pre-existing unused-code warnings in llm-worker and tui.
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.
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.
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
insomniatoyoi:crates/insomnia/->crates/yoi/- workspace package/dependency metadata updated
- CLI help and tests now use
yoi
- Updated Nix packaging:
- package
pnameisyoi - flake package/app output points at
bin/yoi cargoHashrefreshed after the lock/vendor input changed
- package
- Updated CLI/runtime command surfaces:
insomnia pod->yoi podINSOMNIA_POD_RUNTIME_COMMAND->YOI_POD_RUNTIME_COMMANDINSOMNIA-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->$yoirequire("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 --checkcargo check --workspacecargo test -p manifestcargo test -p yoicargo test -p client runtime_commandcargo test -p pod entrypointcargo test -p pod prompt::loadercargo test -p manifest profiletarget/debug/yoi --helptarget/debug/yoi pod --helpnix eval .#packages.x86_64-linux.default.pname --rawnix eval .#apps.x86_64-linux.default.program --rawnix build .#yoi --no-linkgit diff --check
Additional validation after removing compatibility remnants:
cargo fmt --checkcargo test -p manifest pathscargo test -p pod spawn_profile_selector_accepts_default_inherit_and_registry
Run the final full validation set again before closing this work item.
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 --checkcargo test -p manifest pathscargo test -p pod spawn_profile_selector_accepts_default_inherit_and_registrygit diff --check