open-standards/sense
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Transaction Science c9b6429bfc chore(deps): cargo update across the workspace; eoc toolchain → 1.98.0
Bump every project's dependencies to the latest semver-compatible versions
(cargo update) across the monorepo — 24 lockfiles — and lift eoc/eoc-rs's
toolchain pin from 1.97.1 to 1.98.0 so the whole workspace is uniformly on the
current stable Rust (the root was already 1.98.0).

Build-verified on the updated graph: wai (full test suite + wasm), arl-rs,
jcp-rs. The remaining projects resolve cleanly; CI verifies their builds.

Excluded: smart-byte-rs — its dep bump (notably rand 0.10) requires a code
migration across ~12 crates (OsRng/RngCore relocation, thread_rng→rng), out of
scope for a routine update; left on its current lock for dedicated follow-up.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
2026-08-26 07:39:26 -04:00
..
conformance/v1 sense: the ambient context standard (v0.1) 2026-06-13 21:39:39 -04:00
sense-rs chore(deps): cargo update across the workspace; eoc toolchain → 1.98.0 2026-08-26 07:39:26 -04:00
LICENSE sense: the ambient context standard (v0.1) 2026-06-13 21:39:39 -04:00
LICENSE-SPEC sense: the ambient context standard (v0.1) 2026-06-13 21:39:39 -04:00
README.md sense: the ambient context standard (v0.1) 2026-06-13 21:39:39 -04:00
SPEC.md sense: the ambient context standard (v0.1) 2026-06-13 21:39:39 -04:00

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 for the normative standard and conformance/v1/ for the reproducible vector pack.

Try it

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). Reference implementation in sense-rs/: Apache-2.0 (LICENSE).