open-standards/sense/README.md
Transaction Science e0610c90cd sense: the ambient context standard (v0.1)
Sense is the afferent open standard — the always-on, deterministic,
energy-accounted record of what is happening around an agent, and a
governed account of when that is worth attention. The tool protocols
(MCP/A2A/ACP) standardize an agent reaching OUT for capabilities; Sense
standardizes the observations flowing IN, the substrate every ambient/
proactive agent needs but none specify.

Distinct from OpenTelemetry GenAI: that traces the agent's own reasoning
(efferent, non-deterministic by its own admission); Sense records the
world the agent is in (afferent), deterministically, every datum
provenance- and trust-tagged, every interruption priced in joules and
sealed in a receipt.

Four tiers, deterministic-first, inference last:
- sense-schema  — content-addressed Event, vendor-neutral SourceClass,
  TrustLevel, family Energy/Provenance, StateProjection, Highlight.
- sense-store   — content-addressed, HLC-ordered, replay-deterministic
  log; two runs over the same events yield a byte-identical digest.
- sense-attention — deterministic salience/novelty/uncertainty observer,
  k-sigma highlight detector, and the attention budget that gates
  surfacing by value-vs-interruption-cost (displacement + interference),
  priced in joules. Perception ⊗ attention-budget — the afferent dual of
  JCP's capability ⊗ joule-budget.
- sense-cascade — query envelope + deterministic recall retrieval +
  speculative cascade that answers factual recall with zero LLM calls
  and escalates only as a last resort.
- sense-receipt — hash-chained Ed25519 surfacing log (allows AND holds
  chained); JCR-1 COSE_Sign1 for cross-family verification.

SPEC §1-§10, conformance C1-C5 with a reproducible vector pack, a
sense-cli end-to-end demo. 38 tests green, clippy clean.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
2026-06-13 21:39:39 -04:00

74 lines
3.7 KiB
Markdown

# Sense
The **ambient context** standard — the always-on, deterministic, energy-accounted
record of *what is happening around an agent*, and a principled account of *when
that is worth attention*.
The tool protocols (MCP, A2A, ACP) standardized the **efferent** half of an agent:
reaching out for tools, peers, payments. Sense standardizes the **afferent** half
— the observations flowing in. It is the substrate an *ambient* or *proactive*
agent needs but none of them specify: a feed of the world, deterministic enough to
audit, with a governed decision about when to interrupt a human.
Where OpenTelemetry traces the agent's own reasoning — non-deterministic by its
own admission, and about the agent's *insides* — Sense records the agent's
*outside*, deterministically, with every datum provenance- and trust-tagged, and
every interruption priced in joules and sealed in a receipt.
## The four tiers
```
observe ─▶ project ─▶ detect ─▶ gate ─▶ seal ─▶ verify ─▶ answer
│ │ │ │ │ │ │
store attention attention attention receipt receipt cascade
```
- **`sense-schema`** — the wire types: the content-addressed [`Event`], the
vendor-neutral `SourceClass`, the `TrustLevel`, the family `Energy`/`Provenance`
model, the `StateProjection`, the `Highlight`. Pure, no IO.
- **`sense-store`** — a content-addressed, HLC-ordered, **replay-deterministic**
event log. Two runs over the same events yield a byte-identical digest.
- **`sense-attention`** — the part no observability stack carries: a deterministic
salience/novelty/uncertainty observer, a *k*-sigma highlight detector, and the
**attention budget** that gates surfacing by *value vs. interruption cost*,
priced in joules. "Perception ⊗ attention-budget", the afferent dual of JCP's
"capability ⊗ joule-budget".
- **`sense-cascade`** — the synthesis tier: a query envelope, deterministic recall
retrieval, and a speculative cascade that answers factual-recall queries with
**zero LLM calls** and escalates to a frontier model only as a last resort.
- **`sense-receipt`** — a hash-chained, Ed25519-signed **surfacing log**: the
tamper-evident record of what was surfaced (or held), when, and what it cost.
Sealable as a JCR-1 COSE_Sign1 envelope for cross-family verification.
See [`SPEC.md`](SPEC.md) for the normative standard and
[`conformance/v1/`](conformance/v1/) for the reproducible vector pack.
## Try it
```sh
cd sense-rs
cargo run -p sense-cli --bin sense # the whole loop on a scripted stream
cargo test --workspace # the conformance suite
```
The demo scripts an ambient stream (a quiet shell baseline, a burst of file
changes, a low-trust log line), then for each surfaced moment prints the
projection, the gate decision, and the joules it cost — then verifies the
hash-chained surfacing log and answers a recall query with no model call.
## What is **not** here
- **A daemon, sensors, or a UI.** A host wires its platform's sensors to the
`SourceClass` vocabulary and renders highlights however it likes. Sense fixes the
datum, the determinism, the attention decision, and the receipt — not the
plumbing.
- **A model.** The salience observer and the synthesis fallback are *recognized
edges*; the reference observer is deterministic and the reference fallback is a
recorder. A host brings the model it trusts.
- **A transport or storage engine.** The wire is `serde`/JCR-1; the order is the
HLC. Ride it over anything; persist it in anything that preserves the order.
## Licence
Specification text: CC-BY-4.0 ([`LICENSE-SPEC`](LICENSE-SPEC)). Reference
implementation in `sense-rs/`: Apache-2.0 ([`LICENSE`](LICENSE)).