Repository navigation
feat(agents): admit shared turns through the running harness - #113
Conversation
|
Warning Review limit reached
This review includes 14 billable files and costs up to $3.50.
Reviews can continue after your included limit without a manual trigger. An admin must approve usage-based billing. Or wait 3 minutes for your next included review. View limit details
|
b049133 to
b36dd9a
Compare
|
Agent review: both listener admission and queued model dispatch use fresh request IDs and current manager permission. Shared work preserves the signed requester, never substitutes the owner, and cannot enter setup or lifecycle paths. Shared-capable channel sessions disable personal core memory before any grant can expose an existing session. The opt-in manager flag defaults off and is supplied only to thread launches. Production-path tests exercised listener allow/refuse, revocation between requests, encrypted reply scoping, queued authorization failure before memory/session creation, durable signed refusal retries, and the actual handoff CLI dispatch. Harness: 1,097 passed, 3 ignored; CLI: 495 passed; manager: 139 passed, 1 ignored. Clippy passed across all targets for all three packages. No remaining concrete blocker found in this running-agent layer. Minimalism, elegance, and correctness: 9/10 each. Sleeping-agent wakeup and the complete two-owner workflow are being validated in the next layer. Human acceptance remains pending; no completion attestation is claimed. |
b36dd9a to
34d08b1
Compare
Signed-off-by: Tee8z <tee8z@protonmail.com>
34d08b1 to
bca433e
Compare
Shared channel mentions currently reach the relay but a running remote harness rejects every non-owner. This layer admits an explicit mention only after a fresh encrypted manager authorization. It retains the actual requester's identity, rechecks queued tasks before context or model access, and retains signed failure replies across interrupted delivery.
Depends on #112. This is the running-agent consumer; sleeping-agent wakeup follows separately. The manager's
shared_taskssetting defaults to false and supplies the authoritative manager key only to channel-thread launches. A matching agent image is required before enabling it. Owner DMs retain their existing behavior. The sharing flag rejects a bound DM explicitly; private DM memory remains available. This revision integrates the merged channel/DM binding API on current main. Shared-capable channel sessions disable personal core memory before session creation, including when a grant is enabled later.Agents can issue a bounded, provenance-preserving handoff with
buzz agents handoff <agent> --from <incoming-event-id> --message '<task>'. The owner-facing share help explicitly states that channel members invoke the agent's configured tools.This cohesive layer exceeds the 1,000-line default because admission transport, both listener and queued-turn enforcement, durable refusal delivery, and their production-path tests must land together. Publishing the transport alone would leave no safe, usable consumer.
Validation:
Human acceptance testing remains pending. No review-completion attestation is claimed. After the full stack and matching images are deployed: opt an agent into a shared channel, mention it from a second member, hand work to another opted-in agent in the same thread, revoke the grant, and confirm the next request is visibly refused while owner DMs still work.