Переименование jira-hub → sdlc-hub (#97) #99

Merged
aep merged 21 commits from feat/97-sdlc-rename into main 2026-10-24 14:35:47 +03:00
Owner

Closes #97.

Переименование хаба jira-hub → sdlc-hub (change openspec/changes/sdlc-rename/, план docs/superpowers/plans/2026-10-24-sdlc-rename.md).

Что сделано

  • Пакет sdlc_hub, CLI sdlc-hub (без псевдонима), каталог данных ~/.local/share/sdlc-hub/ (SDLC_HUB_HOME).
  • Отказ любой команды с кодом 2, если данные лежат только в прежнем ~/.local/share/jira-hub/ (новый каталог не создаётся).
  • MCP-серверы sdlc-jira и sdlc-wiki; модуль в sdlc-hub mcp <модуль> обязателен.
  • Веб: бренд «SDLC Hub», ключи localStorage sdlc-hub-* с разовым переносом из jira-hub-*.
  • scripts/cutover.sh (обёртка над scripts/cutover.py): сухой прогон по умолчанию, --apply — переключение живой установки (launchd, каталог данных, checkout, .mcp.json/.claude/CLAUDE.md потребителей, user scope MCP). Порядок и откат — README, раздел «Переключение с jira-hub».
  • README, CLAUDE.md, ARCHITECTURE.md под новые имена.

Проверки

  • uv run pytest -q — 996 passed; cd web && npm run lint && npm test — 492 passed; openspec validate sdlc-rename --strict — valid. e2e не запускались.

Rulings I made

Решения агента без обсуждения — design.md, раздел «Decisions made without discussion» (1–11 — спека, 12–21 — контроллер):

  • R-1 (design #12): трейлер коммитов контроллера — Claude Sonnet 5.5.
  • R-2 (design #13): playwright.config.ts, seed-hub.py, SDLC_HUB_URL — уже в Task 1.
  • R-3 (design #14): autouse-фикстура _isolated_home подменяет HOME в тестах.
  • R-4 (design #15): ключи sdlc-hub-comments-hidden (с переносом) и sdlc-hub-issue-filters (sessionStorage, без переноса).
  • R-5 (design #16): комментарий «jira-hub#20» → «hub#20».
  • R-6 (design #17): проверка HEAD == origin/main через git ls-remote, не fetch.
  • R-7 (design #18): детали шагов --apply (bootout, ожидание порта, .venv, worktree repair, plist → *.pre-sdlc).
  • R-8 (design #19): откат в README без хеша, прежний plist — с живой установки.
  • R-9 (design #20): потребители — список по умолчанию + автообнаружение ~/projects/*/.mcp.json (нашёлся sfm_foxpro).
  • R-10 (design #21): замена aep/jira-hub → aep/sdlc-hub в CLAUDE.md и скиллах потребителей.

Находки

Исправлено в ветке: T1.1–T1.3, T2.3, T4.1, T4.4, T5.1–T5.6, T5.8, O-2, O-3, I-1–I-4, M-1–M-3, M-6–M-10. Отклонено: T2.6, T2.7, T6.4.

Deferred (уйдут в follow-up при закрытии): O-1, T2.1, T2.2, T2.4, T2.5, T3.1, T3.2, T4.2, T4.3, T5.7, T5.9, T6.1, T6.2, T6.3, M-4, M-5, W-1, W-2, W-3, W-4, W-5.

После слияния (владелец)

  1. Переименовать репозиторий в Gitea aep/jira-hub → aep/sdlc-hub.
  2. Закрыть сессии Claude со старым MCP.
  3. git -C ~/projects/jira-bridge/jira-hub pull --ff-only, сразу bash ~/projects/jira-bridge/jira-hub/scripts/cutover.sh (сухой прогон, из обычного терминала вне checkout), затем --apply.
  4. /mcp reconnect, codegraph init, uv sync в .wt/*, просмотреть правки потребителей, удалить *.pre-sdlc, проверить реле и agent_status.

🤖 Generated with Claude Code

Closes #97. Переименование хаба `jira-hub` → `sdlc-hub` (change `openspec/changes/sdlc-rename/`, план `docs/superpowers/plans/2026-10-24-sdlc-rename.md`). ## Что сделано - Пакет `sdlc_hub`, CLI `sdlc-hub` (без псевдонима), каталог данных `~/.local/share/sdlc-hub/` (`SDLC_HUB_HOME`). - Отказ любой команды с кодом 2, если данные лежат только в прежнем `~/.local/share/jira-hub/` (новый каталог не создаётся). - MCP-серверы `sdlc-jira` и `sdlc-wiki`; модуль в `sdlc-hub mcp <модуль>` обязателен. - Веб: бренд «SDLC Hub», ключи `localStorage` `sdlc-hub-*` с разовым переносом из `jira-hub-*`. - `scripts/cutover.sh` (обёртка над `scripts/cutover.py`): сухой прогон по умолчанию, `--apply` — переключение живой установки (launchd, каталог данных, checkout, `.mcp.json`/`.claude`/CLAUDE.md потребителей, user scope MCP). Порядок и откат — README, раздел «Переключение с jira-hub». - README, CLAUDE.md, ARCHITECTURE.md под новые имена. ## Проверки - `uv run pytest -q` — 996 passed; `cd web && npm run lint && npm test` — 492 passed; `openspec validate sdlc-rename --strict` — valid. e2e не запускались. ## Rulings I made Решения агента без обсуждения — `design.md`, раздел «Decisions made without discussion» (1–11 — спека, 12–21 — контроллер): - R-1 (design #12): трейлер коммитов контроллера — `Claude Sonnet 5.5`. - R-2 (design #13): `playwright.config.ts`, `seed-hub.py`, `SDLC_HUB_URL` — уже в Task 1. - R-3 (design #14): autouse-фикстура `_isolated_home` подменяет `HOME` в тестах. - R-4 (design #15): ключи `sdlc-hub-comments-hidden` (с переносом) и `sdlc-hub-issue-filters` (sessionStorage, без переноса). - R-5 (design #16): комментарий «jira-hub#20» → «hub#20». - R-6 (design #17): проверка `HEAD == origin/main` через `git ls-remote`, не `fetch`. - R-7 (design #18): детали шагов `--apply` (bootout, ожидание порта, `.venv`, worktree repair, plist → `*.pre-sdlc`). - R-8 (design #19): откат в README без хеша, прежний plist — с живой установки. - R-9 (design #20): потребители — список по умолчанию + автообнаружение `~/projects/*/.mcp.json` (нашёлся `sfm_foxpro`). - R-10 (design #21): замена `aep/jira-hub` → `aep/sdlc-hub` в CLAUDE.md и скиллах потребителей. ## Находки Исправлено в ветке: T1.1–T1.3, T2.3, T4.1, T4.4, T5.1–T5.6, T5.8, O-2, O-3, I-1–I-4, M-1–M-3, M-6–M-10. Отклонено: T2.6, T2.7, T6.4. Deferred (уйдут в follow-up при закрытии): O-1, T2.1, T2.2, T2.4, T2.5, T3.1, T3.2, T4.2, T4.3, T5.7, T5.9, T6.1, T6.2, T6.3, M-4, M-5, W-1, W-2, W-3, W-4, W-5. ## После слияния (владелец) 1. Переименовать репозиторий в Gitea `aep/jira-hub` → `aep/sdlc-hub`. 2. Закрыть сессии Claude со старым MCP. 3. `git -C ~/projects/jira-bridge/jira-hub pull --ff-only`, сразу `bash ~/projects/jira-bridge/jira-hub/scripts/cutover.sh` (сухой прогон, из обычного терминала вне checkout), затем `--apply`. 4. `/mcp` reconnect, `codegraph init`, `uv sync` в `.wt/*`, просмотреть правки потребителей, удалить `*.pre-sdlc`, проверить реле и `agent_status`. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
aep added 20 commits 2026-10-24 11:55:25 +03:00
Change sdlc-rename: пакет, CLI, каталог данных, MCP sdlc-jira/sdlc-wiki,
бренд и ключи хранилища веба, скрипт переключения живого хаба (#97).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
aep added 1 commit 2026-10-24 13:10:02 +03:00
После переименования в Gitea старый адрес по SSH отвечает «Cannot find
repository» (T6.2 подтвердилось): preflight сверяет main по адресу
aep/sdlc-hub, derive_remote принимает уже сменённый origin; README —
сменить origin сразу после переименования.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
aep merged commit 33abf9cb0a into main 2026-10-24 14:35:47 +03:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: aep/sdlc-hub#99
No description provided.