feat(agents): swarm lib + Operator + Issue Opener roles #25
No reviewers
Labels
No labels
adr
agent:blocked-ci
agent:blocked-human
agent:blocked-resolver
agent:done
agent:in-progress
agent:no-touch
agent:pinged
agent:pr-open
agent:queued
agent:wip
area:board
area:funding
area:infra
area:phy
area:poplink
area:rtl
area:software
area:supply-chain
area:verification
ci-failed
ci-timeout
docs
do-not-merge
human-approved
needs-human-approval
needs-rebase
needs-triage
phase:1
ready-for-review
review:findings
review:pass
risk:tripwire
swarm:quarantined
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Fluid/fluidpop-v1!25
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feature/swarm-lib-operator-opener"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
First wave of the autonomous swarm scaffolding per ADR-017 (PR #24). Lands the shared library + two of the four roles. Resolver Dispatcher (PR #26) and PR Approver + installer (PR #27) follow.
What's in it
Shared library (
infra/ops/agents/lib/):circuit.sh— 3-state circuit breaker (closed/half-open/open), trip 5×30min, manual reset, Telegram alarm on tripforgejo.sh— REST helpers: GET/POST/PATCH/DELETE + issue/label/comment/PR/commit-status; idempotentfj_label_addtelegram.sh—notify_low/normal/highwrappers prefixing[swarm:<role>]role-common.sh—RUN_ID, log dirs,run_claude(full stream-json with session_id capture),role_lock(flock),role_drain_inboxfor/rolebridge routingsandbox-claude.sh—systemd-run --user --scopeenvelope with cgroup caps;scan_escalationpost-mortem parserRoles:
operator.sh— oneshot every 10 min; releases stale resolvers, pings on PRs waiting >2h, escalates blocked-human/blocked-ci to Telegram once, auto-kicksauto-merge.shfor green PRsissue-opener.sh— oneshot 12:00 + 18:00 UTC; readsPLAN.md§6-15 + 18, throttles at 12 open swarm issues, asks claude for up to 3 NEW (strict JSON), files witharea:*+agent:queuedPrompts in
roles/prompts/*.md(separable from shell wrapper).Units in
infra/ops/agents/units/— standardEnvironmentFile=%h/.config/settings.env.Validation
bash -ngreen on all.shsystemd-analyze --user verifygreen on all.service/.timer+xbitNotes
This PR does NOT activate the swarm — units are installed but never enabled in this commit. Cold start happens after PR #27 lands
install-swarm.shand Marcos approves ADR-017.CI green (head
fec788d7be), auto-approving