Skip to content

Commit 1d3906a

Browse files
committed
Add LocalAgentCardStore and AllowedDomains to v0.3.0 roadmap
- Add LocalAgentCardStore resolver for push-registered server-less agents - Update fallback chain: local store -> A2A card -> WellKnownResolver - Add AllowedDomains type for cross-repo interface with SchemaPin v1.4.0 - Cross-repo alignment with Symbiont v1.7.0/v1.8.0
1 parent 6451f22 commit 1d3906a

1 file changed

Lines changed: 11 additions & 3 deletions

File tree

ROADMAP.md

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,17 +46,25 @@ AgentPin becomes the cryptographic identity layer for A2A (Agent-to-Agent) netwo
4646
| Item | Details |
4747
|------|---------|
4848
| `A2aAgentCardResolver` | Implements `DiscoveryResolver` — fetches `/.well-known/agent-card.json`, extracts AgentPin extensions |
49-
| Fallback chain | Try A2A card first, fall back to `agent-identity.json` via `WellKnownResolver` |
49+
| `LocalAgentCardStore` | In-memory store of pre-registered AgentCards for agents that don't serve HTTP (e.g., CLI tools, daemon processes). Implements `DiscoveryResolver` — looks up cards by domain/agent-id from local store instead of making HTTP requests. Cards are added via `store.register(card)`. This supports Symbiont v1.7.0's push-based external agent registration where the coordinator receives AgentCard JSON inline rather than fetching it from a `.well-known` endpoint. |
50+
| Fallback chain | Try local store first → A2A card fetch → `agent-identity.json` via `WellKnownResolver` |
5051
| Feature flag | Optional dependency on `a2a-types` behind `a2a` feature flag |
5152

53+
### Allowed Domains Interface
54+
55+
| Item | Details |
56+
|------|---------|
57+
| `AllowedDomains` type | New type in `src/types/discovery.rs`: `Vec<String>` of trusted domains extracted from `AgentDeclaration.constraints`. Exported for use by SchemaPin v1.4.0's `A2aVerificationContext` when scoping tool verification to the intersection of caller and provider domains. Convention: empty list means "all domains trusted" (no restriction). |
58+
5259
### Touchpoints
5360

5461
| Area | Change |
5562
|------|--------|
5663
| New | `src/types/a2a.rs``A2aAgentCardExtension`, `A2aAgentCardBuilder` |
5764
| New | `src/a2a.rs` — A2A extension signing and validation logic |
5865
| New | `src/resolver_a2a.rs``A2aAgentCardResolver` implementing `DiscoveryResolver` |
59-
| Extend | `src/types/discovery.rs``a2a_endpoint` field on discovery types |
66+
| New | `src/resolver_local.rs``LocalAgentCardStore` implementing `DiscoveryResolver` |
67+
| Extend | `src/types/discovery.rs``a2a_endpoint` field, `AllowedDomains` type |
6068

6169
---
6270

@@ -116,4 +124,4 @@ We welcome input on roadmap priorities:
116124

117125
---
118126

119-
*Last updated: 2026-02-12*
127+
*Last updated: 2026-03-01 (cross-repo alignment with Symbiont v1.7.0/v1.8.0 and SchemaPin v1.4.0)*

0 commit comments

Comments
 (0)