No description
  • Go 97.1%
  • Lua 1.5%
  • Python 1.4%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-05-24 01:42:56 -05:00
cmd/agent-network plugin: emit network provider diagnostics 2026-05-24 00:04:49 -05:00
docs plugin: emit network provider diagnostics 2026-05-24 00:04:49 -05:00
internal plugin: serve network through substrate 2026-05-24 01:42:56 -05:00
scripts workflow: add checked manifest baseline 2026-05-13 21:16:29 -05:00
test plugin: serve network through substrate 2026-05-24 01:42:56 -05:00
tool-skills tool-skills: align ssh authority use 2026-05-15 01:01:17 -05:00
workflow plugin: serve network through substrate 2026-05-24 01:42:56 -05:00
.gitignore workflow: open generic credential authority use 2026-05-15 12:43:48 -05:00
go.mod plugin: emit network provider diagnostics 2026-05-24 00:04:49 -05:00
go.sum plugin: emit network provider diagnostics 2026-05-24 00:04:49 -05:00
PRD.md docs: propagate provider diagnostic constraints 2026-05-23 23:37:19 -05:00
README.md docs: update provider diagnostics readme 2026-05-24 00:51:09 -05:00
workflow.events.jsonl workflow: add checked manifest baseline 2026-05-13 21:16:29 -05:00
workflow.toml plugin: serve network through substrate 2026-05-24 01:42:56 -05:00

agent-network

agent-network is the agent system's network communication provider. It replaces the narrower agent-grpc concept.

Purpose

This repository owns provider-side network communication capabilities for agents and plugins. It should support multiple protocols through explicit adapters instead of baking one transport into the project identity.

Scope

Initial protocol families may include:

  • gRPC
  • HTTP/HTTPS
  • WebSocket
  • raw TCP/TLS where explicitly justified
  • SSH-mediated network operations through agent-keyring signing/connect leases
  • future protocol adapters behind the same provider boundary

Authority boundaries

agent-network is not the credential authority and not the action authority.

  • agent-core-system owns action admission, approval, policy, audit, and execution envelopes.
  • rpc-plugin-system owns substrate runtime, transport, lifecycle, and plugin supervision.
  • agent-keyring owns credential storage, scoped leases, OAuth, SSH keys/certs/signing, browser/session credentials, refresh, rotation, and revocation.
  • agent-network owns network protocol adapters and network-facing provider behavior.

Credential possession is not action authorization. Network access must be requested through admitted capabilities and scoped credential leases.

Design direction

Protocol support should be adapter-based:

agent-core-system admitted capability
  -> rpc-plugin-system substrate execution
  -> agent-network plugin/provider
  -> protocol adapter
  -> remote service / peer agent

Each protocol adapter must declare:

  • protocol name
  • supported operations
  • input/output schema
  • side-effect class
  • credential requirements
  • timeout/cancellation behavior
  • retry/idempotency behavior
  • audit fields
  • redaction rules

Provider bundle and diagnostic behavior is inherited from the generic provider-bundle contracts, not invented here. agent-network may add network-specific audit facts, but diagnostics must stay structured, redacted, and routed through the substrate SDK/helper path. Safe diagnostic fields are limited to capability, operation, non-secret correlation ids, status, duration, coarse error or reason, counts, and digests. Raw URLs containing secrets, request or response bodies, headers, cookies, tokens, credentials, authority references, sockets, sessions, connection handles, private paths, payloads, upstream bodies, and reusable refs are forbidden diagnostic material.

Final provider diagnostics status: accepted with constraints in the cross-repo judge sweep. The network runtime emits only structured, redacted diagnostic facts and must not turn URL/header/body/socket/session/credential material into logs or authority evidence.

Non-goals

  • Do not store credentials here.
  • Do not bypass agent-core-system admission.
  • Do not turn protocol availability into workflow authority.
  • Do not hard-code provider-specific business semantics into generic network adapters.
  • Do not expose raw credential material unless agent-keyring explicitly grants a scoped lease.

First useful implementation slice

  1. Add a protocol-adapter contract.
  2. Keep gRPC as one adapter, not the project identity.
  3. Add tests proving unsupported protocols are rejected and credentials are requested through scoped declarations, not embedded config.
  4. Add a smoke path through rpc-plugin-system only after the adapter contract exists.