Open Autonomous Intelligence Initiative

Advocates for Open, ethical AI Models

EdgePERSignal

Status

Draft v0.1 (Open SGI MVM)

Purpose

EdgePERSignal defines the minimal OAII‑conformant Signal subclass required to carry edge‑primary sensor observations into the Personal Event Recognition (PER) pipeline.

An EdgePERSignal is:

  • produced by an EdgePERSensor
  • hosted and governed by an EdgePERDevice
  • interpreted by Events, Policies, and Agents across Worlds

The signal itself makes no claims about user identity, intent, or benefit. It is a fact‑bearing, policy‑governed observation.


Scope and Non‑Goals

In Scope

  • Signal identity and provenance
  • Temporal extent and capture metadata
  • Sensor binding and modality
  • Privacy, access, and retention attributes
  • Confidence and quality indicators

Out of Scope

  • Event semantics (handled by Event subclasses)
  • User or benefit interpretation
  • Cloud transport
  • Vendor‑specific payload schemas

Role in the Open SGI MVM Pipeline

EdgePERSignal is the bridge between physical sensing and contextual interpretation.

Pipeline position:

  1. EdgePERSensor captures a reading
  2. EdgePERSignal packages the observation
  3. Subject–Object Event interprets the signal
  4. PrimaryUser Event personalizes it
  5. PERPolicy evaluates its impact

EdgePERSignal preserves what was sensed, when, and how reliable it was, without embedding higher‑level meaning.


Required Attributes

Identity and Binding

  • signal_id
  • world_ref
  • device_ref
  • sensor_ref

Temporal

  • capture_start_time (EpochMillis)
  • capture_end_time (EpochMillis)
  • ingest_time (EpochMillis)

Modality and Domain

  • sensor_type
  • observed_domain
  • value_domain

Governance

  • privacy_class
  • access_class
  • retention_policy_ref
  • redaction_policy_ref

Quality

  • confidence (0–1)
  • quality_flags (enumerated)

Payload

  • raw_payload (optional, may be redacted)
  • summary_payload (preferred for PER)

Notifications

EdgePERSignal MAY emit notifications when:

  • a signal is created
  • a signal is redacted
  • a signal is retained or expired

All notifications are policy‑mediated.


Methods

  • CreateSignal(params) -> result
  • SummarizeSignal(params) -> result
  • RedactSignal(params) -> result
  • GetSignal(params) -> result
  • ExpireSignal(params) -> result

ASN.1 Specification

OpenSGI-PER-Signal-MVM DEFINITIONS AUTOMATIC TAGS ::= BEGIN
UUID ::= OCTET STRING (SIZE(16))
IA5Text ::= IA5String
EpochMillis ::= INTEGER (0..MAX)
VersionString ::= IA5String (SIZE(1..64))
PrivacyClass ::= ENUMERATED { public(0), local(1), sensitive(2), restricted(3) }
AccessClass ::= ENUMERATED { readOnly(0), readWrite(1), writeOnce(2) }
StatusCode ::= ENUMERATED { success(0), partial(1), fail(2) }
ResultSet ::= SEQUENCE {
status StatusCode,
resultVersion VersionString,
errorCode IA5Text OPTIONAL,
errorDetail IA5Text OPTIONAL,
result OCTET STRING OPTIONAL
}
ParameterSet ::= SEQUENCE {
paramsVersion VersionString,
params OCTET STRING
}
WorldRef ::= SEQUENCE { worldId UUID, worldRole IA5Text OPTIONAL }
PolicyRef ::= SEQUENCE { policyId UUID, policyType IA5Text OPTIONAL }
SensorType ::= ENUMERATED { motion(0), contact(1), deviceHealth(2), audio(3), video(4), other(255) }
QualityFlag ::= ENUMERATED { ok(0), noisy(1), partial(2), truncated(3), stale(4) }
QualityFlagSet ::= SEQUENCE (SIZE(0..MAX)) OF QualityFlag
ObservedDomain ::= SEQUENCE { domainName IA5Text, domainSpec OCTET STRING OPTIONAL }
ValueDomain ::= SEQUENCE { domainSpec OCTET STRING }
PERSignal ::= SEQUENCE {
signalId UUID,
worldRef WorldRef,
deviceId UUID,
sensorId UUID,
sensorType SensorType,
observedDomain ObservedDomain,
valueDomain ValueDomain,
captureStartTime EpochMillis,
captureEndTime EpochMillis,
ingestTime EpochMillis,
privacyClass PrivacyClass,
accessClass AccessClass,
retentionPolicyRef PolicyRef OPTIONAL,
redactionPolicyRef PolicyRef OPTIONAL,
confidence REAL (0.0..1.0),
qualityFlags QualityFlagSet OPTIONAL,
rawPayload OCTET STRING OPTIONAL,
summaryPayload OCTET STRING OPTIONAL
}
-- Operations
CreateSignalRequest ::= SEQUENCE { signal PERSignal, params ParameterSet OPTIONAL }
CreateSignalResponse ::= SEQUENCE { result ResultSet, signalId UUID OPTIONAL }
GetSignalRequest ::= SEQUENCE { signalId UUID, params ParameterSet OPTIONAL }
GetSignalResponse ::= SEQUENCE { result ResultSet, signal PERSignal OPTIONAL }
RedactSignalRequest ::= SEQUENCE { signalId UUID, params ParameterSet OPTIONAL }
RedactSignalResponse ::= SEQUENCE { result ResultSet }
ExpireSignalRequest ::= SEQUENCE { signalId UUID, params ParameterSet OPTIONAL }
ExpireSignalResponse ::= SEQUENCE { result ResultSet }
END

Implementation Notes

  • The MVM SHOULD prefer summaryPayload for all event recognition and logging.
  • rawPayload may be retained only if permitted by retention and redaction policies.
  • Signals SHOULD be immutable after creation except for policy‑driven redaction or expiration.

Next Specification

Spec 4: SubjectObjectEvent (Event Subclass)

  • defines how PERSignals become world‑specific events
  • introduces T / ~T interpretation in the Subject–Object World

Leave a comment