mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-08-09 08:04:45 +00:00
Prototype the "human drives an AI coding agent to develop Amethyst" support channel on top of the existing block/buzz integration, all through amy. - commons: BuzzJobAggregator (BuzzJobs.kt) — a pure, tested folder that correlates the Buzz agent-job kinds (43001-43006) by their `e` request reference into JobView records with a REQUESTED→ACCEPTED→IN_PROGRESS→ COMPLETED/FAILED/CANCELLED state machine (newest terminal wins). Shared so a future mobile Jobs board reuses one correlation path. 9 unit tests. - cli: `amy buzz job request|list|show|cancel` (requester side) and `amy buzz agent serve --exec CMD` (the responder loop): polls for REQUESTED jobs targeting my key, gates intake on `--accept-from` (allowlist) and `--channel`, then accepts (43002) → progress (43003) → runs `sh -c CMD` (task text on stdin; BUZZ_JOB_ID/REQUESTER/CHANNEL/RELAY/AGENT in env) → result (43004) or error (43006). Point `--exec` at a coding agent to drive it. - cli/tests/buzz/job-loop.sh — self-contained headless harness over an embedded `amy serve` relay; asserts the full loop AND the permission gate (an allowlist excluding the requester handles nothing). - Design doc cli/plans/2026-07-25-buzz-agent-support-channel.md: the three-layer permission model (Buzz scopes by identity, not capability flags — so "can't merge/destroy main" lives in GitHub branch protection + the `--exec` credential, not the relay), the MVP architecture, and the prioritized mobile app gap list (approvals inbox, jobs board, diff/PR review, …). Schema caveat: kinds 43001-43006 are reserved in Buzz with no upstream builder; the tag layout is Quartz's best-effort model, to be reconciled upstream. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011mApqAbr8vkLC7gUDjavu6