What are the options?
Declare an execution path, locality, available human review, and evidence-labeled quality, cost, energy, carbon, and latency.
SAP proposes a small, inspectable way for independent AI applications to exchange execution options, important constraints, and what actually happened—while preserving environmental measurement uncertainty and human choice.
Declare an execution path, locality, available human review, and evidence-labeled quality, cost, energy, carbon, and latency.
Record constraints and the selected offer, or explicitly abstain when eligible options or evidence are missing.
Distinguish intended, reported, and independently checked outcomes. Unknown metrics must remain unknown.
Validating an envelope is deterministic and offline. SAP includes the same positive and negative fixtures for independent JavaScript and Python JSON Schema engines, plus strict cross-record reference and locality tests.
npm --prefix protocol install
node protocol/validate.cjs --fixtures
python -m pip install jsonschema
python protocol/validate.py
node --test examples/sap-exchange.test.cjs
node --test integrations/test-envelope.cjs
The tests demonstrate format interoperability and reject invalid evidence semantics, invalid units, policy violations, and fabricated verification status. Environmental test numbers are fictional.
OpenTelemetry already measures and transfers operational telemetry. The Green Software Foundation Impact Framework already performs environmental calculations. SAP's interchange layer aims to carry decision-relevant results and uncertainty between them and execution hosts.
See the instrumented interoperability pilot for real SDK and Impact Framework testing. No real power meter or grid feed is configured by default.
Unauthorized execution, prompt leakage, false provenance, record replays, and unsafe defaults.
Review, version changes, independent adopters, and the path from a working draft to a stable standard.
A standalone Python offer producer and JavaScript decision consumer, no centralized server.
Explicitly tracked limits, external validation requirements, and responsible next milestones.
A protocol becomes important because independent teams choose it to solve a recurring problem—not because its creator calls it universal. We welcome alternate implementations, contradictions, benchmarks, and cases where the better answer is an extension to an existing standard.
Propose an interoperability test ↗