Transaction Science · open standard · Apache-2.0 / CC-BY-4.0
sense is the afferent standard. The tool protocols standardize an agent reaching out for capabilities; sense standardizes the observations flowing in — the always-on record of what is happening around an agent, and a governed account of when that is worth a human's attention. Every datum is content-addressed, provenance- and trust-tagged; every interruption is priced in joules and sealed in a hash-chained receipt; inference is the last resort.
The thesis
Observability traces the agent's own reasoning — its tool calls and model invocations — and is non-deterministic by its own admission. That is the agent's insides. sense records the agent's outside: the world it is in, deterministically, with every datum traceable to its source and trust level.
Ambient and proactive agents are the defining shape of the field now — continuous, environmental, acting on their own. They all need a substrate of the observed world, deterministic enough to audit, with a principled decision about when to interrupt a human. None of them specify it. sense is that substrate.
The four tiers
Deterministic-first, all the way down. The expensive tiers run only when the cheap ones can't.
One datum on the log: a vendor-neutral source class (file change, app focus, log, thermal, shell), a trust level, a wall-clock observation time captured as data, and a content-addressed payload. A host maps its native sensors onto the same classes, so a log means the same thing on every platform.
Every payload is keyed by its BLAKE3 address; every event is totally ordered under a hybrid logical clock. Replaying a log yields a byte-identical digest on any machine. Determinism is what makes an ambient record auditable, not merely logged.
A bounded-state observer projects salience, novelty, and uncertainty from exact integer counts. A k-sigma detector turns those into discrete highlights. The attention budget decides whether each one surfaces — and prices it in joules.
A question about the observed world is answered from the log by a deterministic recall cascade. A frontier model is called only when nothing cheaper can answer. Cheapest sufficient answer wins; every answer carries an honest energy figure.
The attention budget
The crown of the standard: a highlight surfaces only when its value clears a modelled interruption cost, and only when the energy budget can pay for it. The decision is metered, reasoned, and sealed.
A highlight surfaces only when its value clears a modelled interruption cost — displacement (how engaged the user is) plus interference (whether the alert collides with the user's active modality). Following the proactive-interruption literature, not a fixed threshold.
Surfacing debits an energy budget; a hold spends nothing. An ambient agent cannot interrupt without account, and cannot interrupt past its energy budget at all. Attention becomes a metered resource — perception ⊗ attention-budget, the afferent dual of JCP's capability ⊗ joule-budget.
The three outcomes — surface, hold:value, hold:budget — are all sealed. A held highlight is exactly the record an adversarial host would prefer to forget, so the chain protects it like any surfaced one.
Given the same projection, engagement, and budget, the gate decides identically every time. The decision a human relied on is reproducible and reviewable after the fact.
The surfacing log
Every gate decision seals as the next link of a hash chain. The signed core commits to the source event, its trust level, the highlight, the value and cost the budget computed, the decision, and the joules charged. Each link's prev is the content address of the one before it. Anyone holding the host's key can verify the whole chain; removing a held highlight — exactly the record a bad host would drop — breaks it at that point.
[20] file_change novelty ⇒ surface (1000 µJ, 9000 µJ left) seq 0
[22] file_change salience ⇒ hold:value (0 µJ, 9000 µJ left) seq 1
[40] system_log novelty ⇒ surface (1000 µJ, 8000 µJ left) seq 2
sealed chain: 3 decisions verified — surface AND hold, both chained
answer "what files changed" → deterministic tier, 0 µJ, no model call Reference implementation
A Rust workspace, Apache-2.0. The four tiers, an end-to-end demo, and a conformance suite whose five classes reproduce from the published vector pack alone. Measurement and capability are recognized edges: the sibling Sandbox meter supplies real hardware energy and earns a datum its attested trust; the sibling JCP grant gates who may subscribe to which source for how many joules — sense owns the log, the attention decision, and the receipt.
The wire types: the content-addressed Event, the vendor-neutral SourceClass, the declared-never-promoted TrustLevel, the family Energy/Provenance model, the salience StateProjection, the Highlight. Pure Rust, no IO, serde-round-trippable.
A content-addressed, HLC-ordered, replay-deterministic event log. Content addressing makes storage the index; the hybrid logical clock makes order total. Two runs over the same events yield a byte-identical replay digest — conformance C1.
The part no observability stack carries: a deterministic salience/novelty/uncertainty observer, a k-sigma highlight detector with an absolute floor and debounce, and the attention budget that gates surfacing by value-vs-interruption-cost, priced in joules.
The synthesis tier: a query envelope, BM25-lite recall retrieval with source-stratified recency fill, and a speculative cascade that answers factual-recall queries with zero LLM calls and escalates to a frontier model only as a last resort.
A hash-chained, Ed25519-signed surfacing log: the tamper-evident record of what was surfaced or held, when, and what it cost. Allows and holds both chained; excise, reorder, or edit one link and the chain breaks. Sealable as a JCR-1 COSE_Sign1 envelope for cross-family verification.