◎ OS PUB Apache 2.0 ← All specifications

P180 — AIEP — Evidence Change Notification and Watch Protocol

Publication Date: 2026-03-27 Status: Open Source Prior Art Disclosure Licence: Apache License 2.0 Author/Organisation: Phatfella Ltd Schema: AIEP_OS_SPEC_TEMPLATE v1.0.1 — https://aiep.dev/schemas/aiep-os-spec-template/v1.0.1


Framework Context

[0001] This disclosure operates within an Architected Instruction and Evidence Protocol (AIEP) environment as defined in United Kingdom patent application number GB2519711.2, filed 20 November 2025, the entire contents of which are incorporated herein by reference.

[0002] The present disclosure defines a protocol for targeted, subscription-based notification of changes to specific evidence artefacts or taxonomy domain scopes within an AIEP evidence corpus — enabling reasoning chains, governance agents, and downstream systems to receive ChangeNotifications when specific DEIDs, taxonomy domains, or trust-tier thresholds are affected, without requiring continuous corpus polling.


Field of the Disclosure

[0003] This disclosure relates to event-driven notification protocols for evidence corpora in governed artificial intelligence systems.

[0004] More particularly, the disclosure concerns: a WatchSubscription schema; a ChangeNotification schema; a WatchRegistry managing active subscriptions; a ChangeEvent classification taxonomy; delivery mechanisms for ChangeNotifications; subscription lifecycle management; and the relationship between this Protocol and the evidence streaming protocol (P158), the annotation protocol (P176), and the conflict record protocol (P161).


Background

[0005] The evidence streaming protocol (P158) provides a broadcast stream of all evidence events across the corpus — appropriate for mirror nodes and corpus-wide monitoring. However, a reasoning chain that cares only about a specific DEID or a small taxonomy domain does not benefit from receiving all events and must filter the stream itself.

[0006] The Watch Protocol provides targeted, pull or push notifications for specific DEIDs, taxonomy scopes, or event types, with a subscription model that scales independently of corpus-wide event volume. A reasoning chain watching 10 DEIDs receives only events affecting those 10 DEIDs — not the thousands of events per day the corpus generates globally.

[0007] Targeted change notification is particularly valuable for long-lived reasoning processes that must detect when key evidence artefacts they have incorporated into earlier reasoning steps are updated, challenged, or annotated with governance warnings, enabling them to re-evaluate conclusions based on changed evidence.


Summary of the Disclosure

[0008] WatchSubscription Schema:

  • subscription_id — SHA-256 of canonical serialisation of all other fields
  • subscriber_id — node fingerprint (P46) or callback identifier of the subscribing entity
  • watch_scope — one of: DEID_LIST (list of specific DEIDs), TAXONOMY_SCOPE (TaxonomyQuery per P160), TRUST_TIER_THRESHOLD (notify on any artefact dropping below a specified trust score)
  • watch_scope_value — the specific DEIDs, TaxonomyQuery, or trust score threshold corresponding to watch_scope
  • event_types — list of ChangeEvent types to receive (see [0009]); empty list = all event types
  • delivery_mechanism — one of: WEBHOOK (HTTP POST to subscriber URL), AIEP_PUSH (push via AIEP node-to-node protocol P46), POLL (subscriber polls the notification queue)
  • delivery_endpoint — URL or node fingerprint for WEBHOOK and AIEP_PUSH delivery; null for POLL
  • active — boolean; set to false to pause notifications without deleting the subscription
  • expires_at — optional subscription expiry time; expired subscriptions are auto-deleted
  • created_at — ISO 8601 timestamp
  • created_by — node fingerprint (P46)

[0009] ChangeEvent Taxonomy: The event types that can be watched:

  • ARTEFACT_UPDATED — a new version of the artefact has been admitted to the corpus
  • ARTEFACT_QUARANTINED — the artefact has been quarantined (P155)
  • ARTEFACT_RELEASED_FROM_QUARANTINE — the artefact has been released from quarantine
  • ARTEFACT_DEPRECATED — the artefact has been deprecated
  • TRUST_SCORE_CHANGED — the artefact’s trust score (P124) has changed by more than a configurable threshold (default: 0.1)
  • FRESHNESS_BELOW_THRESHOLD — the artefact’s freshness score (P147) has fallen below the subscriber’s configured threshold
  • CONFLICT_OPENED — a ConflictRecord (P161) has been opened against the artefact
  • CONFLICT_RESOLVED — a ConflictRecord against the artefact has been resolved
  • ANNOTATION_ADDED — a new annotation (P176) has been attached to the artefact
  • ANNOTATION_GOVERNANCE_WARNING — specifically a GOVERNANCE_WARNING annotation has been added
  • PROVENANCE_CHALLENGE_OPENED — a ProvenanceChallenge (P178) has been opened against the artefact
  • PROVENANCE_CHALLENGE_VERDICT — a ChallengeVerdict (P178) has been issued

[0010] ChangeNotification Schema: A notification delivered to a subscriber:

  • notification_id — SHA-256 of canonical serialisation
  • subscription_id — the subscription that triggered this notification
  • event_type — the ChangeEvent type that occurred
  • affected_deid — the DEID of the affected artefact
  • event_at — ISO 8601 timestamp of the event
  • event_summary — brief description of what changed (e.g. for TRUST_SCORE_CHANGED: "trust_score changed from 0.82 to 0.71")
  • event_payload_ref — optional reference to a more detailed event record (e.g. conflict_id, challenge_id, annotation_id)
  • delivered_at — ISO 8601 timestamp of delivery

[0011] WatchRegistry: The WatchRegistry maintains all active WatchSubscriptions indexed by watch_scope_value and event_types. On each ChangeEvent published to the evidence corpus event bus, the WatchRegistry evaluates which subscriptions match the event’s DEID and event type, and enqueues a ChangeNotification for each matching subscription.

[0012] Delivery Reliability: ChangeNotifications are delivered with at-least-once semantics. For WEBHOOK and AIEP_PUSH delivery, failed deliveries are retried with exponential backoff up to a configurable maximum retry count (default: 5). After maximum retries, the notification is marked DELIVERY_FAILED and retained in the subscriber’s notification queue for manual retrieval via POLL. Subscribers receive a DELIVERY_FAILURE_ALERT via whichever delivery mechanism they have configured as a fallback.

[0013] Subscription Lifecycle: Subscribers may create, update, pause, and delete subscriptions via the Watch API:

  • POST /evidence/watch — create a new WatchSubscription
  • PATCH /evidence/watch/{subscription_id} — update scope, event types, or delivery parameters
  • DELETE /evidence/watch/{subscription_id} — delete subscription
  • GET /evidence/watch/{subscription_id}/notifications — retrieve queued notifications (POLL mode)
  • GET /evidence/watch/{subscription_id}/notifications/{notification_id}/ack — acknowledge a notification and remove from queue

ASCII Architecture

Evidence Corpus Event Bus
  (ARTEFACT_UPDATED, TRUST_SCORE_CHANGED, etc.)


    ┌─────────────────────┐
    │    WatchRegistry    │
    │  subscription_id    │
    │  watch_scope        │◀── WatchSubscription CRUD
    │  event_types filter │    (POST/PATCH/DELETE /evidence/watch)
    └──────────┬──────────┘
               │ matching subscriptions

    ┌─────────────────────┐
    │  ChangeNotification │
    │  (notification_id,  │
    │   event_type, DEID, │
    │   event_summary)    │
    └──────────┬──────────┘

      ┌────────┼──────────────────┐
      │        │                  │
      ▼        ▼                  ▼
   WEBHOOK  AIEP_PUSH           POLL queue
   (HTTP POST) (P46 push)       GET /notifications
      │        │                  │
      └────────┴──────────────────┘
               │ on failure: retry (exp backoff, max 5)
               ▼ on max retries: POLL fallback + DELIVERY_FAILURE_ALERT

Operational Detail

[0014] Taxonomy-Scope Subscription Scale: A WatchSubscription with watch_scope: TAXONOMY_SCOPE covering a high-volume taxonomy domain may produce very large numbers of ChangeNotifications. Subscribers using this scope type are encouraged to configure specific event_types to limit notification volume. The WatchRegistry enforces a rate limit (default: 1,000 notifications per hour per subscription) and sets the subscription to RATE_LIMITED status — pausing delivery — if the rate is exceeded; the subscriber is alerted and may update their event_types filter to reduce volume.

[0015] Trust Score Watch Debounce: TRUST_SCORE_CHANGED events are debounced: a ChangeNotification is triggered only when the trust score change exceeds the configured threshold (default: 0.1) from the score at the time of the last TRUST_SCORE_CHANGED notification for that artefact to that subscriber. This prevents high-frequency micro-updates in trust scores from flooding subscribers.

[0016] Relationship to Streaming (P158): The streaming protocol (P158) is a broadcast channel of all corpus events, designed for high-throughput consumers that process all events. The Watch Protocol is a targeted subscription mechanism designed for consumers that care about specific artefacts or small scopes. The two may coexist; a corpus operator may use streaming for mirror synchronisation and the Watch Protocol for reasoning chain evidence staleness monitoring.


Claims-Exclusion Notice

This specification is published as open-source prior art. No patent claims are asserted by the author in respect of the mechanisms described. Any third party seeking to patent mechanisms substantially equivalent to those described herein is placed on notice of this prior art disclosure.