fix(skills): claude review items 4-7 (subscribe timeout, atomic_dump_yaml, hardcoded paths, lifecycle helper)
Item 4: --subscribe gains --timeout/--idle-timeout (idle default raised
120s->600s, 0=disable); connect-error AND non-zero CONNACK now fall
back to a polling loop. SKILL.md matches actual behaviour.
Item 5: --subscribe terminal-event YAML writes routed through
lib.sh::atomic_dump_yaml (flock + schema-validate + .bak).
Item 6: removed hardcoded /home/godopu16/PuKi fallbacks in lib.sh,
status.sh (x2) and reconcile.sh; paths now BASH_SOURCE-relative.
Item 7: lib.sh::delegate_publish_event helper consolidates the 4 duplicated
lifecycle publish blocks; delete cwd|jid parser replaced with JSON.
Also: subscribe loop runs under the project venv python (paho) and delegates
all YAML work to atomic_dump_yaml on system python3 (PyYAML), since neither
interpreter has both modules — the original env_python path could never import
paho. Items 3 + 8 out of scope (per user). Verified on -L claude-phase4-test
(kill-server after).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -118,16 +118,4 @@ snap.pop('terminated_at_epoch', None)
|
||||
print(f"updated: {name} status=running (resume id -> per-row own id)", flush=True)
|
||||
PYEOF
|
||||
|
||||
if [ -n "$DELEGATE_JOB_ID" ]; then
|
||||
py_bin="python3"
|
||||
d_dir="$(dirname "${BASH_SOURCE[0]}")"
|
||||
while [ "$d_dir" != "/" ] && [ -n "$d_dir" ]; do
|
||||
if [ -x "$d_dir/.venv/bin/python" ]; then
|
||||
py_bin="$d_dir/.venv/bin/python"
|
||||
break
|
||||
fi
|
||||
d_dir="$(dirname "$d_dir")"
|
||||
done
|
||||
pub_script="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)/delegate-job/scripts/publish_event.py"
|
||||
"$py_bin" "$pub_script" --job "$DELEGATE_JOB_ID" --event progress --detail "resumed" || true
|
||||
fi
|
||||
delegate_publish_event "$DELEGATE_JOB_ID" progress "resumed"
|
||||
|
||||
Reference in New Issue
Block a user