A canonical, open registry that maps A–Z anchor sequences to domain-specific operations, parameters, and safety rules. The registry guarantees that any system interpreting a UAEP packet resolves the same intent, with the same preconditions, and the same effects.
1) Registry Goals
- One meaning, everywhere: identical interpretation across vendors, clouds, chains, and devices
- Deterministic execution: clear inputs, declared effects, typed outputs
- Safety by default: roles, consent scopes, units, and invariants are first-class
- Evolvable: versioned entries, deprecation policies, and test vectors
2) Entry Schema (human-readable)
- Namespace: logical grouping (e.g., COM, TEL, PHY, ENG, GOV, FIN, ID)
- Anchor: A–Z sequence bound to an operation (e.g., PUBLISH.PAGE, SCALE.COMPUTE)
- Version: semantic version for the entry (e.g., 1.2.0)
- Intent: short description of the operation
- Inputs: typed parameters with units and constraints
- Preconditions: assertions that must hold before execution
- Effects: declared side effects (no hidden actions)
- Outputs: typed result(s) and receipt fields
- Policy: roles, consent scopes, and rate/limit rules
- Telemetry: events, metrics, and required audit fields
- Interop: adapters or bindings (Web2 APIs, Web3 contracts, protocols)
- Tests: conformance vectors (min/avg/max cases, error cases)
- Status: stable, beta, deprecated, reserved
- Security: auth class, signing, replay protection, PII flags
- ChangeLog: rationale for updates and migration guidance
3) Core Namespaces
- COM (compute and software)
- TEL (telecommunications and networking)
- PHY (physics, scientific computation, instrumentation)
- ENG (industrial control, OT, robotics)
- FIN (finance, ledger, token operations)
- GOV (governance, policy, consent, compliance)
- ID (identity, keys, credentials, attestations)
- DOC (content, CMS, publishing, knowledge ops)
- ENE (energy, metering, markets, carbon)
4) Canonical Entries (selected examples)
DOC • PUBLISH.PAGE
- Namespace: DOC
- Anchor: PUBLISH.PAGE
- Version: 1.0.0
- Intent: publish a page to a CMS and return its permalink
- Inputs: title (string, 1–140), body (markdown), tags (list[string]), visibility (enum: public, private, unlisted)
- Preconditions: body length ≤ 2 MB; caller role includes EDITOR; consent scope CONTENT_PUBLISH
- Effects: writes CMS record; emits DOC.PUBLISHED event; no external network calls beyond configured CMS adapter
- Outputs: permalink (url), id (string), checksum (sha256)
- Policy: rate ≤ 60/min per tenant; RBAC EDITOR or higher
- Telemetry: event name DOC.PUBLISHED with id, title, checksum
- Interop: WordPress REST v2, Notion API pages, Ghost Admin API
- Tests: minimal title, large body, invalid visibility, missing consent
- Status: stable
- Security: OAuth2 or signed DID; replay-nonce max age 120s
- ChangeLog: initial
COM • SCALE.COMPUTE
- Namespace: COM
- Anchor: SCALE.COMPUTE
- Version: 1.1.0
- Intent: scale a compute pool to a target size or policy
- Inputs: pool_id (string), size (int ≥ 0) or policy (enum: autoscale, fixed), region (string)
- Preconditions: caller role OPS; tenant quota allows target; region is permitted
- Effects: adjusts node count; updates autoscaler if policy set
- Outputs: new_size (int), effective_policy (enum)
- Policy: rate ≤ 6/hour per pool; maintenance windows honored
- Telemetry: COM.SCALED with pool_id, old_size, new_size
- Interop: Kubernetes (HPA/VPA), AWS ASG, GCP MIG, Azure VMSS
- Tests: scale to zero, large burst, invalid region, quota exceeded
- Status: stable
- Security: cloud-side IAM plus UAEP token; dual-confirm if > 100 nodes
- ChangeLog: 1.1 adds policy; 1.0 supported but deprecated after 2026-01-01
FIN • TRANSFER.TOKEN
- Namespace: FIN
- Anchor: TRANSFER.TOKEN
- Version: 1.2.0
- Intent: move fungible units from source to destination ledger accounts
- Inputs: token (string), from (account id or DID), to (account id or DID), amount (decimal > 0), memo (string ≤ 140 optional)
- Preconditions: role TREASURER; balance(from) ≥ amount; token whitelisted; consent FINANCE_EXECUTE
- Effects: debits from, credits to; emits FIN.TRANSFERRED event
- Outputs: txid (string), new_balance_from (decimal), new_balance_to (decimal)
- Policy: dual-sign if amount ≥ threshold; daily caps per token
- Telemetry: FIN.TRANSFERRED with txid, token, amount, checksum
- Interop: ERC-20 transfer, bank API SEPA/ACH mapping, internal ledger API
- Tests: dust amounts, cap enforcement, dual-sign path, memo encoding
- Status: stable
- Security: chain-native signature or HSM signing; replay protection required
- ChangeLog: 1.2 adds memo; 1.1 remains for back-compat
ENE • POST.READING
- Namespace: ENE
- Anchor: POST.READING
- Version: 1.0.3
- Intent: append a metering reading with unit semantics
- Inputs: meter_id (string), quantity (decimal ≥ 0), unit (enum: kWh, MWh), timestamp (RFC3339), signature (bytes)
- Preconditions: signature valid; meter exists and belongs to tenant; rate ≤ 1/min per meter unless burst-flag present
- Effects: appends to immutable ledger; triggers billing accruals; optional carbon swap
- Outputs: reading_id (string), accrual_delta (decimal), ledger_hash (sha256)
- Policy: operator role required; consent ENERGY_POST
- Telemetry: ENE.READING.POSTED with meter_id, quantity, unit
- Interop: utility MDMS, ETSI CIM adapters, carbon market mint
- Tests: zero quantity, backdated reading, unit mismatch, invalid signature
- Status: stable
- Security: ED25519 meter key; UAEP token; anti-replay window 5 min
- ChangeLog: 1.0.3 clarifies unit coercion
TEL • ROUTE.PACKET
- Namespace: TEL
- Anchor: ROUTE.PACKET
- Version: 0.9.2 (beta)
- Intent: forward a packet toward destination under policy
- Inputs: src (MAC/IP), dst (MAC/IP or DID), qos (enum: best, assured), ttl (int 1–255), payload_ref (blob handle)
- Preconditions: src authenticated; dst reachable; policy allows qos
- Effects: enqueue on selected path; decrements ttl; emits TEL.ROUTED
- Outputs: path_id (string), enqueue_time (ms)
- Policy: per-tenant egress caps; lawful intercept exclusions honored
- Telemetry: hop latency, drop events, qos stats
- Interop: TCP/IP, QUIC, 5G QoS classes
- Tests: ttl=1, qos deny, unreachable dst, large payload_ref
- Status: beta
- Security: MTLS between UAEP gateway and router; signed headers
- ChangeLog: 0.9.2 adds qos assured path
GOV • CONSENT.GRANT
- Namespace: GOV
- Anchor: CONSENT.GRANT
- Version: 1.0.0
- Intent: grant a consent scope to a subject for a domain/action window
- Inputs: subject (DID), scope (enum list), expires_at (RFC3339), purpose (string ≤ 140)
- Preconditions: issuer has ADMIN role; subject is verified; scope is allowed for tenant
- Effects: writes consent record; propagates policy cache invalidation
- Outputs: consent_id (string), effective_scopes (list)
- Policy: tamper-evident store; revocation path must exist
- Telemetry: GOV.CONSENT.GRANTED with subject and scopes (hashed)
- Interop: OPA/Cedar policy backends, OAuth consent records, DIDComm attestations
- Tests: past expiry, disallowed scope, unverified subject
- Status: stable
- Security: issuer signature required; consent receipts stored with hash only (no PII)
- ChangeLog: initial
5) Versioning and Lifecycle
- Semantic versions: MAJOR.MINOR.PATCH
- Stability flags: stable, beta, deprecated, reserved
- Deprecation: announce at least 6 months before removal; provide migration entry
- Conflict resolution: newer entry wins within the same namespace; cross-namespace collisions must be escalated to registry governance
6) Governance & Submission
- Proposals: submit a new entry with complete schema, safety analysis, and test vectors
- Review boards per namespace (e.g., COM board, FIN board)
- Public comment window (e.g., 14 days) then sign-off
- Signed releases: registry snapshots are signed and timestamped for supply-chain integrity
7) Safety & Compliance
- Units are types, not comments (kWh, MWh, V, A, °C…)
- Preconditions must be decidable; if not decidable, the entry is rejected
- Effects must be explicit; undeclared effects prohibited
- PII flags mandatory; consent scopes enforced before execution
- Lawful intercept and regulatory hooks exist only within TEL/GOV approved entries
8) Telemetry & Receipts (minimum)
Every executed anchor must emit:
- Event name (e.g., FIN.TRANSFERRED)
- Correlation id and timestamp
- Inputs (redacted as required), outputs, and effect summary
- Hash of the UAEP packet and the receipt record
- Signer (DID) and verification method
9) Conformance Testing
Vendors must pass:
- Positive path vectors (min/avg/max)
- Negative vectors (unit mismatch, quota, role, consent, signature, replay)
- Performance thresholds (p50, p95, p99 latencies)
- Persistence checks (receipt durability and hash reproducibility)
10) Discovery & Introspection
- Registry index supports queries by namespace, anchor, version, status
- Capability descriptors expose supported adapters and limits
- Machines can negotiate the highest mutual version; if none, fall back or refuse
11) Example Minimal Entry (compact)
- Namespace: ENE
- Anchor: OPTIMIZE.LOAD
- Version: 0.9.0 (beta)
- Intent: compute and apply a load-shift schedule for cost or carbon minimization
- Inputs: asset_id (string), window_start/window_end (RFC3339), objective (enum: cost, carbon), max_shift (minutes)
- Preconditions: asset controllable; operator role; consent ENERGY_CONTROL
- Effects: schedules issued; overrides recorded; no immediate actuation without ACK
- Outputs: schedule_id, projected_savings (decimal)
- Policy: human-in-the-loop confirmation required
- Status: beta
12) Next Steps
- Publish the initial registry snapshot (v1.0) with DOC.PUBLISH.PAGE, COM.SCALE.COMPUTE, FIN.TRANSFER.TOKEN, ENE.POST.READING, GOV.CONSENT.GRANT
- Stand up a signed public mirror and a tenant-scoped private mirror
- Ship conformance test suites and reference adapters for at least two targets per entry (e.g., WordPress + Notion; ERC-20 + internal ledger; K8s + AWS ASG)
When this registry is installed alongside the Standardized Execution Layer and UAEP, any compliant server can parse, translate, execute, and audit human-readable intent with identical results across platforms—no bespoke rewrites, no ambiguity, and provable receipts.