diff --git a/dist/browser-operator.skill b/dist/browser-operator.skill index 7f03cf5..0d04595 100644 Binary files a/dist/browser-operator.skill and b/dist/browser-operator.skill differ diff --git a/skills/browser-operator/SKILL.md b/skills/browser-operator/SKILL.md index ddb2a95..e5a84cb 100644 --- a/skills/browser-operator/SKILL.md +++ b/skills/browser-operator/SKILL.md @@ -47,11 +47,20 @@ description: > ```bash BL="$HOME/.config/browser-harness/bin/browser-lease.sh" -bash "$BL" acquire --holder "pi:$$" --ttl 900 --pid $$ --tool browser # 0 = взял, 3 = занято, 2 = ошибка +HOLD="manual:$$" # метка держателя +MYPID="$(cat /proc/$$/winpid 2>/dev/null || echo 0)" # НАСТОЯЩИЙ windows-PID +bash "$BL" acquire --holder "$HOLD" --ttl 900 --pid "$MYPID" --tool browser # 0 = взял, 3 = занято, 2 = ошибка # … работа … -bash "$BL" release --holder "pi:$$" +bash "$BL" release --holder "$HOLD" ``` +**PID — только настоящий.** MSYS `$$` это НЕ windows-PID: по нему живость аренды врёт +(мёртвый держатель выглядит живым, живой — мёртвым). В bash бери `/proc/$$/winpid`, +в pi/Node — `process.pid`; не знаешь — передай `0` («неизвестен», живость решит TTL). + +**`driver.lock` руками не трогай** (в том числе пустой или «битый» — это окно чужой +записи): отбор мёртвой аренды делает CLI по `ts`/TTL/мёртвому PID. Чужую аренду не снимай. + Контракт аренды (формат файла, TTL, кого связывать): вики mappa `concepts/browser-lease-contract`.