Skip to content

feat: add native agent collaboration clients and optional core mounts - #1666

Open
erni-a wants to merge 11 commits into
mainfrom
feat/agent-collaboration
Open

erni-a wants to merge 11 commits into
mainfrom
feat/agent-collaboration

Conversation

@erni-a

@erni-a erni-a commented Sep 21, 2026

Copy link
Copy Markdown
Contributor

Move collaboration clients and optional core integration into their native OSS home.

Adds Apache client/wire, SDK2 stdio peer, CLI/waker/hooks and adapter packages in
clients/collaboration/. Optional entrypoints retain native auth and storage error
boundaries; the default app remains independent of Enterprise. Remote peer supports
non-lease operations. Pull/ACK/reply/progress/checkpoint explicitly require stdio so
credentials and lease ownership are never cached across stateless requests. Reader
storage skips collaboration migration and writer-pool creation.

  • Branch: feat/agent-collaboration, base 187188250fd38ae31f8a18e0a6974e8435840bc0, tip d895d440e03029cc088dc932de0ec9c34f946842; 11 commits, 62 files. The first two commits are the original import; the nine that follow add the request lifecycle, multi-replica wake and dedicated-deployment client work described below.
  • Squashed import; exact source commits and architect-authorized Apache relicensing
    are recorded in docs/agent-collaboration/PROVENANCE.md (operator review before merge).
  • Validation: full native backend 7,591 passed / 4 skipped / 16 benchmark deselections /
    1 expected failure; final optional regressions 26 passed after reader-role fix;
    storage 552, operations 90, worker 100, client 78 passed (70.03% across all four clients).
    Native Ruff/format/type checks, ratchet and protected-name sentinel passed. Client
    frozen lock and four wheel/sdist builds passed. Full Enterprise-hosted live and
    browser acceptance uses these clients; see the paired Enterprise report.
  • Added-line forbidden-name scan: zero; touched OSS files contain no old names.
    Untouched historical client/shim aliases are a separate follow-up. The existing
    mc_ credential prefix remains unchanged.

Architect acceptance (local, before push)

All scenarios passed on a fresh isolated stack built only from this branch and the paired caura-enterprise feat/agent-collaboration branch: stdio pull probe with abandoned-lease recovery (attempt 2), no lease token in any client output; remote peer serves stateless operations and refuses wait with an explicit stdio message; a real Claude Code session using these client packages pulled a human request, replied and acknowledged; interrupt while leased paused the agent after step 1 with caura_stop_confirmed, and approval with changed instructions resumed it correctly; governance list, open and export as the operator, with observer and outsider denied; memory_context provenance and an explicit memory write; one zero-touch round trip with the Codex developer agent through its native waker (73 s). No hosted CI result is claimed before this push.

Companion: caura-ai/caura-enterprise feat/agent-collaboration (pins this commit). The operator owns merge.

🤖 Generated with Claude Code

https://claude.ai/code/session_01XZUqFDvNBYebC2chw6ssWo

Scope update, 2026-09-23: request lifecycle, multi-replica wake, dedicated deployment

The branch was fast-forwarded with the two follow-on tasks that were accepted locally after the original import. A teammate continues on this PR; history on the branch is append-only from here.

Request lifecycle and durable notices (e0ec53f0 to 80c369e3): requests carry a reply deadline, clients expose per-recipient request state and an outstanding-request listing, native wake prompts include overdue notices, and wake hints are coalesced until the inbox is drained. Optional API/storage mounts publish authenticated reader wakeups through the platform EventBus and start the elected sweeper. Fixed human decision conflict codes replace the generic 409.

Dedicated deployment and client resilience (395a48c5 to d895d440): separate collaboration and memory entrypoints from one core image, remote memory MCP peer forwarding under the verified identity; an opaque notice receipt travels on the next same-session request so a failed HTTP response can never acknowledge an unseen notice; CLI/waker health and confirmed last wake are reported for broker inventory; the adapter SDK retries 5xx/429/transport errors with capped jittered backoff and keeps 401/403 fatal.

Validation on this tip: 151 collaboration client tests pass, covering transient 429/5xx and connect failures across startup, presence, claim and events, fatal client errors, durable SSE cursor, lease loss and cancellation, idempotent send and uncertain claim. Architect acceptance on the local two-replica stack with real OpenAI providers: base suites 7/16/10/5, replica 6/6 including replica loss with gateway retries, request lifecycle 7/7, browser 7/3/4/4/2, live Codex and Claude Code scenarios (silent, offline reassignment, overdue notice, wake coalescing), and both collaboration replicas killed for 20 s under the demo agents with zero adapter restarts and a 3 s round trip after recovery.

Rollout: the receipt-aware clients on this tip must roll out together with enterprise collaboration migration 012. Companion PRs: caura-ai/caura-enterprise#1853 (pins this exact commit in platform-collaboration-api/sources.json) and caura-ai/caura-daemon#226 (broker host onboarding). No hosted CI result is claimed for the new commits before this push.

🤖 Generated with Claude Code

https://claude.ai/code/session_01MwPGksYbdDps6oXkheFqBk

Squashed Apache client import from de3c24d79ee1a5fe886fb77d7f87c985e71824bb; optional mounts from 814fcd6. Source history and approved licensing are recorded in docs/agent-collaboration/PROVENANCE.md.

Signed-off-by: erni <erni@caura.ai>
Signed-off-by: erni <erni@caura.ai>
@erni-a
erni-a requested a review from a team as a code owner September 21, 2026 09:14
@github-actions

Copy link
Copy Markdown
Contributor

Claude Code Review — skipped: PR author 'erni-a' is not a public member of the 'caura-ai' org

@github-actions

Copy link
Copy Markdown
Contributor

Claude Code Review — skipped: PR author 'erni-a' is not a public member of the 'caura-ai' org

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant