[2026-10-07] eagle: personal/projects/virfield.md work/projects/cpm-web-extension-breakage-session-summary-2026-10-07.md

This commit is contained in:
Alexey Martemyanov committed 2026-10-07 15:39:22 +06:00
1 parent c23808e802
commit 15e5d5e1e0
2 files changed
+306 -2

No files matched your search

+49 -2
View File
@@ -1,8 +1,8 @@
---
title: Virfield
namespace: personal
updated: '2026-10-03'
status: candidate-clean-image-ready-clone-pending
updated: '2026-10-07'
status: virfield-3-stage-1-in-progress
tags:
- virfield
- macos
@@ -10,6 +10,53 @@ tags:
- go
- infrastructure
---
# Virfield 3.0 — handoff checkpoint — 2026-10-07 15:35 Bishkek
**Текущий статус: Stage 1 (Tart/Orchard migration) в работе; продолжать в `/Users/admin/Developer/virfield-v3`, branch `codex/virfield-v3-stage1`.** Это актуальная запись состояния; ниже сохранена история v2 от 2026-10-03.
## Что проверено сейчас
- Worktree: HEAD `8830ad9` (`Add Tart and Orchard runtime providers`), родительский план `6013310`. Восемь файлов modified и не закоммичены: `cmd/virfieldd/main.go`, `internal/config/config.go`, `internal/httpapi/server.go`, `internal/tart/client.go`, `internal/tart/client_test.go`, `internal/web/app.js`, `internal/web/index.html`, `internal/web/style.css`. Не откатывать и не считать эти изменения заведомо своими без проверки.
- `http://127.0.0.1:7780` отвечает HTTP 200 и отдаёт v3 UI (Fleet / Images / Activity, Hosts & storage). Факт подтверждён запросом к live-сервису.
- Live `virfieldd`: launchd label `system/ai.virfield.virfieldd`, PID 54497 на момент проверки, пользователь `admin`; plist `/Library/LaunchDaemons/ai.virfield.virfieldd.plist` запускает `~/.virfield-v2/bin/virfieldd -config ~/.virfield-v2/config.json`. Имя `virfield-v2` — legacy путь развертывания, не доказательство версии исходников.
- Точная ревизия уже работающего процесса не установлена. Не заявлять, что бинарник на 7780 собран из HEAD `8830ad9`.
- Текущий dirty source успешно компилируется командой `go build -trimpath -o /private/tmp/virfieldd-v3-check ./cmd/virfieldd`. Полный `make check` после этих восьми изменений ещё не запускался. Предыдущий passing `make check` относится к исходной реализации до текущих правок.
## Следующее действие
1. Разобрать каждое из восьми незакоммиченных изменений и сохранить нужное; проверить владельца/намерение, не затирать.
2. Прогнать `make check` в этом worktree и устранить регрессии.
3. Собрать `make build`; сохранить копию текущего deployment binary для отката, заменить `~/.virfield-v2/bin/virfieldd` собранным бинарником.
4. Перезапуск текущего launchd job пока не проверен. Для контролируемой проверки после сборки:
```sh
pgrep -x virfieldd
# Убедиться, что найден ровно один PID текущего сервиса.
kill -TERM PID
launchctl print system/ai.virfield.virfieldd | rg 'state =|pid =|runs ='
curl -fsS http://127.0.0.1:7780/ | rg 'v3|Fleet|Hosts & storage'
```
Причина ожидания автоматического старта: plist имеет `KeepAlive=true`, процесс работает от `admin`, а deployment directory принадлежит `admin`. Это ожидаемый способ без `sudo`, но пока не подтверждён живой проверкой. Если launchd не поднял новый PID, остановиться и диагностировать; не запускать второй daemon.
Сборка/установка (после успешных проверок; перед заменой сохранить бинарник для rollback):
```sh
cd /Users/admin/Developer/virfield-v3
make check
make build
cp -p /Users/admin/.virfield-v2/bin/virfieldd /private/tmp/virfieldd-before-v3
install -m 755 bin/virfieldd /Users/admin/.virfield-v2/bin/virfieldd
```
До live-проверки не объявлять обновление завершённым. Общий install/runbook находится в `docs/OPERATIONS.md`; он описывает регистрацию system LaunchDaemon с `sudo`, но не dev-перезапуск существующего job без `sudo`.
5. После подтверждения записать точный commit/build и результат live-проверки здесь. До этого не создавать второй listener и не менять порт.
## План и границы
- `docs/VIRFIELD-3-PLAN.md` — целевая архитектура и план, не журнал выполненных этапов.
- `docs/VERIFICATION.md` — acceptance evidence, не доказывает приёмку текущих Tart/Orchard dirty changes.
- В committed v3 уже есть провайдеры Tart и Orchard, host/storage/capacity UI и опциональный WoL по реализации базового коммита. Текущие незакоммиченные правки расширяют/исправляют это; перед claims сверить код и тесты.
- Источник кода — worktree `virfield-v3`; live deployment — `~/.virfield-v2`; это разные копии. Обновление source само по себе не обновляет процесс на 7780.
---
# Virfield — статус 2026-10-03
**Следующее действие:** проверить загрузку, работу и удаление временного клона из нового чистого образа Monterey/Xcode.