62 lines
3.6 KiB
Markdown
62 lines
3.6 KiB
Markdown
---
|
|
id: '20260607-235505-use-workspace-basename-for-default-pod-name'
|
|
slug: 'use-workspace-basename-for-default-pod-name'
|
|
title: 'Use workspace basename for default Pod name'
|
|
status: 'closed'
|
|
kind: 'task'
|
|
priority: 'P1'
|
|
labels: ['pod', 'identity', 'workspace', 'cli', 'panel']
|
|
workflow_state: 'done'
|
|
created_at: '2026-06-07T23:55:05Z'
|
|
updated_at: '2026-06-08T02:00:18Z'
|
|
assignee: null
|
|
legacy_ticket: null
|
|
queued_by: 'workspace-panel'
|
|
queued_at: '2026-06-08T00:33:01Z'
|
|
---
|
|
|
|
## Background
|
|
|
|
Dogfooding happens in a repository whose directory name is `yoi`, which masked hardcoded/default Pod naming problems. Some runtime paths still use `DEFAULT_POD_NAME = "yoi"` or otherwise derive a default identity that is product-name-specific rather than workspace-specific.
|
|
|
|
At the same time, other paths already default Pod names from the current workspace directory basename. The intended behavior is to unify on workspace-based runtime naming:
|
|
|
|
- normal workspace Companion/default Pod name is the workspace directory basename;
|
|
- this repository's name happens to be `yoi`, but that should be an outcome of basename derivation, not a hardcoded default;
|
|
- Orchestrator and role/task Pods can derive distinct names from the workspace/task/role, but should be explicit runtime names;
|
|
- Profile selection must not determine Pod identity.
|
|
|
|
## Goal
|
|
|
|
Unify default Pod naming around the workspace/current-directory basename and remove product-name-specific hardcoded defaults such as `"yoi"` from runtime identity selection.
|
|
|
|
## Requirements
|
|
|
|
- Audit Pod naming paths and identify every use of hardcoded `"yoi"` / `DEFAULT_POD_NAME` as runtime identity.
|
|
- Replace default fresh Pod naming with sanitized workspace/current-directory basename where appropriate.
|
|
- Keep a generic fallback such as `"pod"` only when no useful workspace basename is available.
|
|
- Ensure top-level fresh startup, TUI spawn form defaults, Panel Companion lifecycle, and CLI/runtime helper paths use consistent naming policy.
|
|
- Preserve explicit `--pod <name>` behavior: explicit names always win.
|
|
- Keep workspace Orchestrator distinct from Companion/default Pod, e.g. `<workspace>-orchestrator`.
|
|
- Ensure Ticket role Pods continue to use explicit role/task-derived names and do not fall back to the generic workspace Companion name unless intended.
|
|
- Add tests using a non-`yoi` workspace directory to prove the default Pod name is the directory basename.
|
|
- Coordinate with `remove-profile-derived-pod-names`: Profile slug/source must not influence the default Pod name.
|
|
- Update docs/help text if they imply the default Pod name is `yoi`.
|
|
|
|
## Non-goals
|
|
|
|
- Do not rename historical existing Pod metadata automatically.
|
|
- Do not change explicit Pod names already stored in existing metadata.
|
|
- Do not implement archive/fresh-start behavior here; that is covered by `add-pod-archive-fresh-start-path`.
|
|
- Do not redesign product/repository naming beyond removing hardcoded runtime identity defaults.
|
|
|
|
## Acceptance criteria
|
|
|
|
- In a workspace directory named `example-project`, fresh default startup creates/uses Pod name `example-project` unless an explicit name is provided.
|
|
- In this repository, the default remains `yoi` only because the directory basename is `yoi`.
|
|
- No runtime fresh-start path relies on `DEFAULT_POD_NAME = "yoi"` as the normal identity default.
|
|
- Panel Companion missing spawn requests and verifies the workspace basename Pod name.
|
|
- Orchestrator remains `<workspace>-orchestrator` or equivalent distinct runtime name.
|
|
- Tests cover non-`yoi` workspace naming and explicit `--pod` precedence.
|
|
- Relevant `cargo test` suites, `cargo fmt --check`, `git diff --check`, and `target/debug/yoi ticket doctor` pass.
|