a2aproject / a2aproject/A2A

Extension Proposal: LAR-1 Semantic Overlay (v0.3, published SDK)

Open
#2,014 12 comments 0 reactions 0 assignees View on GitHub
Dominant language
Shell
Stars
25.7k
Forks
2.6k
Avg merge
3d 6h
Merged PRs (30d)
16

Description

## Summary

Proposal for a community extension to A2A: **LAR-1 Semantic Overlay** — a compact, machine-readable semantic layer for agent messages.

LAR-1 adds 6 optional dimensions via the standard `extensions[]` field:

| Field | Meaning | Example |
|-------|---------|---------|
| T | Time | now, past, recall, future |
| S | Space | here, there, meta |
| C | Cognition | obs, hyp, inf, rev |
| E | Evidence | direct, derived, reported |
| L | Likelihood | 0.0–1.0 |
| V | Verification | unverified, verified_tool |

**Non-breaking**: agents that donʼt understand LAR-1 silently ignore the extension.

## Why

A2A handles agent↔agent coordination but does not answer: how is a given message situated — observation or inference, live or recalled, verified or not? LAR-1 replaces guessing with ~80 bytes of structured metadata.

## Published SDK

| Language | Package | Registry |
|----------|---------|----------|
| TypeScript | @lar-1/core | [npm](https://www.npmjs.com/package/@lar-1/core) |
| TypeScript | @lar-1/a2a | [npm](https://www.npmjs.com/package/@lar-1/a2a) |
| Python | lar1semantic | [PyPI](https://pypi.org/project/lar1semantic/) |

79+ automated conformance + round-trip tests passing.

## Wire Format

```json
{
"role": "agent",
"parts": [{ "text": "Revenue grew 12%" }],
"extensions": [
{
"uri": "https://raw.githubusercontent.com/carlsonchik/larone/main/SPEC/extension-v0.3.json",
"LAR-1": {
"T": "now",
"C": "obs",
"E": "direct",
"L": 0.98,
"V": "verified_tool"
}
}
]
}
```

Compact string format: `LAR:T=now,C=obs,E=direct,L=0.98,V=verified_tool`

## Resources

- **Extension descriptor (v0.3):** https://github.com/carlsonchik/larone/blob/main/SPEC/extension-v0.3.json
- **Full proposal:** https://github.com/carlsonchik/larone/blob/main/proposal/extension_proposal.md
- **Repository:** https://github.com/carlsonchik/larone
- **SPEC:** https://github.com/carlsonchik/larone/blob/main/SPEC.md

## Questions for the Working Group

1. Should A2A recognize `application/lar+json` as a community extension type?
2. Is semantic annotation best in `extensions[]` or message `metadata`?
3. Would the WG adopt LAR-1 field vocabulary as a recommended convention?

Discussion draft — feedback welcome. We are prepared to contribute conformance fixtures upstream.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.