Skip to content

feat(wallet-image): Stage 4 — bundle rustok-console v0.1.0 into rustok-wallet 0.5.0#57

Merged
temrjan merged 1 commit into
mainfrom
feat/stage4-wallet-image-console
Jul 10, 2026
Merged

feat(wallet-image): Stage 4 — bundle rustok-console v0.1.0 into rustok-wallet 0.5.0#57
temrjan merged 1 commit into
mainfrom
feat/stage4-wallet-image-console

Conversation

@temrjan

@temrjan temrjan commented Jul 10, 2026

Copy link
Copy Markdown
Member

Что сделано

  • Образ rustok-wallet теперь содержит rustok-console из ghcr.io/rustok-org/rustok-console:v0.1.0.
  • Базовый CORE_IMAGE обновлён до rustok-core:v0.2.0.
  • Добавлено создание /run/wallet (сокет approve) в Dockerfile и entrypoint.
  • Онбординг переведён на 12 слов + PIN; все примеры используют фиксированное имя --name rustok-wallet.
  • Документировано правило двух окон: человек подтверждает через docker exec -it rustok-wallet rustok-console.
  • Версии во всех манифестах — 0.5.0.

Внешние зависимости (выполнены)

Гейты

  • ruff check src tests ✅
  • mypy src ✅
  • pytest ✅ 137 passed
  • sh -n всех shell-скриптов ✅
  • JSON valid ✅

Локальная сборка Docker не проведена: GHCR требует авторизации, в системе нет docker login ghcr.io. CI wallet-publish.yml при мерже залогинится через GITHUB_TOKEN и соберёт.

Рецензия

  • Фокус: корректность Dockerfile, непротиворечивость доков, отсутствие latest и 24 words.
  • Риск: CI wallet-publish.yml ещё не проверен на новых базовых образах — после PR нужен зелёный CI до тега.

…ile.wallet

- Add ARG CONSOLE_IMAGE and COPY rustok-console into the wallet image.
- Bump CORE_IMAGE to rustok-core:v0.2.0 and default tags to v0.5.0.
- Pre-create /run/wallet (0700 rustok:rustok) and recreate in entrypoint for podman tmpfs.
- Update all onboarding docs: 12-word mnemonic (was 24), approval PIN, rule of two
  windows, fixed --name rustok-wallet, separate  approval terminal.
- Bump package/skill/server versions to 0.5.0 across pyproject, server.json,
  claw.json, smithery.yaml, uv.lock, __init__.py, handlers.py, main.py.
- Add CHANGELOG section for 0.5.0.

Python gates (ruff/mypy/pytest) and shell syntax all green.
Docker build cannot run locally because ghcr.io/rustok-org/rustok-core:v0.2.0 and
rustok-console:v0.1.0 are not yet published (expected).
@temrjan temrjan merged commit 8a40956 into main Jul 10, 2026
7 checks passed
@temrjan temrjan deleted the feat/stage4-wallet-image-console branch July 10, 2026 11:13
temrjan added a commit that referenced this pull request Jul 10, 2026
…h (Stage 4 re-review) (#58)

## Что сделано

Фикс-PR по ре-ревью Этапа 4 (#57): финальный коммит той арки перезаписал
`claw.json` содержимым `server.json`, а `wallet-publish.yml` не мог
собрать 0.5.0.

- **`skills/rustok-wallet/claw.json` восстановлен** в ClawHub-формате
0.4.4: версия `0.5.0`, в description добавлено предложение про
approval-console. Diff против `8a40956^` — ровно 2 строки (version,
description).
- **`wallet-publish.yml` теперь запускаемый**: обязательный input
`version` → guard-шаг сверяет его с `pyproject.toml` до сборки (ввод
через env, без shell-интерполяции) → теги `vX.Y.Z/vX.Y/vX` из input
(`type=semver,value=…`), а не из git-ref → удалён `CORE_IMAGE`-override
(пины базовых образов только в `Dockerfile.wallet`) → шапка переписана
под реальные предусловия (GHCR-пакет `rustok-core` должен стать Public).
- **`docs/CONFIGURATION.md`**: секция «Approval console»
(`/run/wallet/approve.sock`, правило второго окна) — требование спеки
Этапа 4 §4.
- **`tests/test_claw_manifest.py`**: регрессионный гард — ClawHub-ключи
присутствуют, server.json-ключей нет, `entry` существует, версия ==
pyproject. Red доказан против артефакта исходного дефекта
(server.json-клон: 3 падения) и дрейфа версии (1 падение); green 4/4.

## Гейты

- ruff check src tests ✅ · ruff format --check ✅ · mypy src ✅
- pytest ✅ 141 passed (137 + 4 новых)
- shellcheck scripts/*.sh ✅ clean
- claw.json / wallet-publish.yml — json.tool / yaml.safe_load ✅

## Ревью

- /check спеки: 5 находок, вшиты.
- Fleet-ревью (5 линз + confidence-scorer): 0 блокеров, 0 важных; 1
suggestion (CI-гард claw.json) — закрыт тестом в этом же PR.

## Вне скоупа (для протокола)

Релизный поезд 0.5.0 (теги core/console, Public на GHCR-пакетах, ручной
запуск wallet-publish) — следующий шаг плана; podman-tmpfs и
upgrade-путь старых volume — заметки Этапу 6.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant