Godopu
450722b3df
docs(security): correct example metadata in job-protocol.md to refer to hmac_sig
2026-06-21 10:45:26 +00:00
Godopu
6a88f10a74
feat(security): implement FW-N5, FW-N6, FW-N7 (HMAC-SHA256 protocol docs, auto-generate token, replay attack defense)
2026-06-21 10:39:49 +00:00
Godopu
5258b5013c
feat(lib): implement FW-N1~FW-N4 items and pane snapshot guidelines
2026-06-21 09:19:46 +00:00
Godopu
9ee9076d60
docs(delegate-job): add Subagent Orchestration Pattern section to SKILL.md
...
Verified pattern from 2026-06-21 6-batch refactoring sprint:
- Main worker (agy-new) + 2 reviewers (agy-existing, claude-existing) + Hermes orchestrator
- Brief delivery via file path (not inline tmux send-keys)
- Polling for short tasks, MQTT subscriber for long tasks
- Complementary reviewer coverage (different models catch different bugs)
- Hermes fallback fix for small well-defined issues
- Batch grouping rules (no file overlap)
2026-06-21 06:41:25 +00:00
Godopu
f1a98be8de
fix(lib.sh): add NFS flock warning (FW-02) + unify venv deps with pyyaml (FW-11)
...
FW-02: atomic_dump_yaml now calls _atomic_dump_yaml_check_nfs() which
detects NFS/CIFS/SSHFS mounts and warns that flock is unreliable.
Long-term fix (SQLite WAL) documented in FUTURE_WORKS.md.
FW-11: pyyaml added to requirements.txt and installed in .venv, so
both paho-mqtt and yaml are available in a single interpreter.
Eliminates the system-python3-vs-venv split for monitor --subscribe.
2026-06-21 06:39:12 +00:00
Godopu
2cffcc46c5
fix(delegate-job): unify .env loading in Python scripts (FW-04) + trap agent bootstrap errors (FW-06)
...
FW-04: mqtt_common.py now loads .env at module import via _load_dotenv().
Walks up from script dir to find workspace .env, sets vars not already
in os.environ (OS env takes precedence). Uses stdlib only — no
python-dotenv dependency.
FW-06: bash wrapper sets trap EXIT before tmux new-session to publish
error event if agent bootstrap fails (non-zero exit). Trap is cleared
after successful session creation. Only active when job_id is set.
2026-06-21 06:35:17 +00:00
Godopu
3677e4aace
feat(delegate-job): add subscriber auto-reconnect (FW-01) + HMAC-SHA256 event signing (FW-05)
...
FW-01: job_subscriber.py now has on_disconnect callback (5-arg paho v2
signature), reconnect_delay_set(1,16) for exponential backoff, and
with_retry-wrapped initial connect (5 attempts). paho loop_start()
handles auto-reconnect internally.
FW-05: publish_event.py signs payloads with HMAC-SHA256 using auth_token
as key (replaces plaintext token in wire). mqtt_common.py adds
verify_hmac() helper using hmac.compare_digest (timing-safe).
job_subscriber.py validates incoming events via verify_hmac.
PoC mode (auth_token=None) skips verification — backward compatible.
Reviewed by agy-existing (PASS) and claude-existing (FAIL: on_disconnect
4-arg signature → fixed to 5-arg matching paho v2 CallbackAPIVersion).
2026-06-21 06:31:39 +00:00
Godopu
a6f7c045bc
feat(delegate-job): bump default --timeout 600s -> 3600s (1h wall-clock budget)
...
Changed 11 locations across 5 files:
- scripts/registry.py: timeout_sec dataclass default + argparse default
- scripts/job_subscriber.py: help text + fallback default
- SKILL.md: 4 recommended invocation examples
- registry.md: JSON example + CLI example
- tmux-agent-orchestrate-delegate-job: bash wrapper TIMEOUT var
--idle-timeout 120s preserved unchanged.
Rationale: 10min default was too short for deep analysis / multi-file
generation tasks; 1h aligns with long-running agent delegation patterns.
2026-06-21 06:08:49 +00:00
Godopu
e9fc763d31
refactor(skills): rename multi-agent-* + agent-sessions-monitor + delegate-job to tmux-agent-orchestrate-*
...
Renamed 6 skills directories to tmux-agent-orchestrate-* prefix:
- multi-agent-create → tmux-agent-orchestrate-create
- multi-agent-resume → tmux-agent-orchestrate-resume
- multi-agent-delete → tmux-agent-orchestrate-delete
- multi-agent-status → tmux-agent-orchestrate-status
- agent-sessions-monitor → tmux-agent-orchestrate-monitor
- delegate-job → tmux-agent-orchestrate-delegate-job
Updated:
- skills/lib.sh internal paths (delegate_submit_job etc.)
- skills/tmux-agent-orchestrate-status/scripts/status.sh (monitor path)
- skills/tmux-agent-orchestrate-monitor/scripts/reconcile.sh
- .gitignore (HTML ignore patterns)
- 6 SKILL.md frontmatter (name, related_skills, prereq_skills) and body
- All script headers and Korean comments
Notes:
- tmux session naming convention unchanged (<slug>-creator-<agent>) — workspace identifier based, kept for backward compatibility
- Existing 2 sessions in -L multi-agent-canary untouched
- YAML delegate_job_id / agent-session (tmux:canary-...) preserved for log history compatibility
Verified on isolated server -L agy-rename-test (kill-server after).
2026-06-19 23:27:27 +00:00