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]>
74 lines
3.7 KiB
Markdown
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)).
|