| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
All checks were successful
no-vanity-metrics / Scan committed Markdown for vanity metrics (push) Successful in 3s
standards workspaces build + test / eoc-rs (push) Successful in 1m54s
standards workspaces build + test / jcp-rs (push) Successful in 1m19s
standards workspaces build + test / jouleclaw-rs (push) Successful in 4m3s
standards workspaces build + test / proof-rs (push) Successful in 1m14s
standards workspaces build + test / aac-rs (push) Successful in 1m23s
standards workspaces build + test / joule-code-rs (push) Successful in 41s
standards workspaces build + test / sandbox-rs (push) Successful in 2m9s
standards workspaces build + test / joulecontract-rs (push) Successful in 48s
standards workspaces build + test / map-rs (push) Successful in 35s
standards workspaces build + test / mesh-rs (push) Successful in 30s
standards workspaces build + test / smart-byte-rs (push) Successful in 2m36s
standards workspaces build + test / openpay (push) Successful in 1m35s
standards workspaces build + test / arl-rs (push) Successful in 2m6s
standards workspaces build + test / joule-ui-rs (push) Successful in 2m41s
standards workspaces build + test / jouledesk-rs (push) Successful in 2m16s
standards workspaces build + test / joulehook-rs (push) Successful in 4m19s
standards workspaces build + test / sense-rs (push) Successful in 2m34s
standards workspaces build + test / macOS energy backend (jcp-energy) (push) Successful in 2m9s
Every published C3 decision was `surface`, so the gate's two refusals — the half of the attention budget that makes it a budget — were never published or checked, and pack.rs pinned that absence with a sentinel. The pack now also publishes the same scripted highlights gated for a user busy in the modality a surfacing would occupy (focus 0.3, visual) on a 2500 µJ budget at 1000 µJ a surfacing: surface, surface, hold:value, hold:budget, with the budget after each (1500, 500, 500, 500) — a surfacing debits, a hold spends nothing. The additions are purely additive; every existing value is unchanged. The third highlight is held for value although the budget could not have paid for it either. The reference always tested value first, but the spec never said so, so SPEC §5 now does: hold:budget means a worthy highlight the budget could not afford. pack.rs replaces the sentinel with a real check, and requires the pack to publish all three outcomes. Falsified: testing budget before value changes the published decisions; a hold that spends changes the published budgets; a pack without its refusals fails both the decision check and the generator check. Co-Authored-By: Claude Opus 5.5 <[email protected]> |
||
| .. | ||
| conformance/v1 | ||
| sense-rs | ||
| LICENSE | ||
| LICENSE-SPEC | ||
| README.md | ||
| SPEC.md | ||
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-neutralSourceClass, theTrustLevel, the familyEnergy/Provenancemodel, theStateProjection, theHighlight. 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
SourceClassvocabulary 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).