Extension Proposal: LAR-1 Semantic Overlay (v0.3, published SDK)
- 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
Assessment
This issue has not been assessed yet.