| Internet-Draft | APSIX | March 2026 |
| Romanchuk | Expires 15 September 2026 | [Page] |
This document proposes APSIX (Agent Portable Semantic Interface eXtension) as a minimal primitive contract for portable semantic runtimes. The goal is not to standardize agent personalities, prompt formats, planner graphs, or model-specific reasoning behavior. The goal is to standardize the smallest useful contract of the runtime environment itself.¶
The design reflects runtime patterns observed in early governed semantic-runtime implementations. In those implementations, the primary managed resource is bounded semantic territory, and spawned actor populations are the main source of pressure on that resource. APSIX defines the lower-layer contract required for such runtimes to become portable across implementations.¶
The contract is intentionally narrow. It standardizes logical objects, lifecycle primitives, membrane-mediated decisions, capability semantics, event and provenance requirements, replay obligations, and progressive compliance profiles. It does not standardize model internals, scheduling strategies, storage engines, user interfaces, or application-specific orchestration logic.¶
The document is written to stand on its own as a self-contained runtime specification, without dependency on unpublished external framing.¶
This is a draft specification, not a final standard. The current name is provisional; the technical target is a portable primitive surface for governed semantic runtimes.¶
This document is intended as a research specification, not as an immediate industry standardization proposal. Its purpose is to define a portability target early enough that emerging runtime implementations do not harden around mutually incompatible framework-local abstractions before a shared primitive vocabulary exists.¶
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.¶
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.¶
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."¶
This Internet-Draft will expire on 15 September 2026.¶
Copyright (c) 2026 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document.¶
Agent runtimes are currently fragmented across framework-local abstractions. One system centers graphs, another centers conversations, another centers workflow automation, and another centers tool loops around a planner-worker core. This fragmentation weakens portability because applications depend on framework-specific object models rather than on a stable environment contract.¶
The design intent of APSIX is analogous in spirit to the role POSIX played for operating systems: not to prescribe every implementation detail, but to standardize a small enough primitive surface that higher-level software can become portable across runtimes.¶
The analogy to POSIX is aspirational in scope, not historical in maturity. The present ecosystem is still early. The purpose of this document is therefore not to claim that semantic runtimes have already converged enough for final standardization, but to provide a research-grade contract that implementations can target, compare against, and refine.¶
The conceptual shift is:¶
The spec is derived from three commitments already stabilized in early governed semantic-runtime experimentation:¶
APSIX treats control of spawn-driven semantic epidemics as a core runtime concern. This document does not yet mandate one universal epidemic-control algorithm for all runtimes or all partition regimes. Instead, APSIX standardizes the governance surface and invariants through which within-partition and cross-partition expansion must be admitted, bounded, observed, and reconstructed. Different runtimes may implement this surface through single-writer regimes, bounded speculative swarms, hierarchical descendant spawning, merge selection, quarantine, culling, or other control strategies, provided those strategies remain membrane-governed, budget-visible, locality-scoped, and replayable.¶
This document defines:¶
This document does not define:¶
APSIX is intended to serve as:¶
It is not yet intended to serve as:¶
The design goals are:¶
The key words MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD, SHOULD NOT, RECOMMENDED, NOT RECOMMENDED, MAY, and OPTIONAL in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.¶
Domain: a bounded semantic representation that supports localization, refinement, anchoring, and harvest.¶
Zone: the runtime embodiment of a domain, including state, policy, budgets, partitions, and artifacts.¶
Partition: a bounded sub-zone scope that defines the default unit of locality and refinement.¶
Actor: a spawned runtime instance operating under a capability mask and budget share.¶
Artifact: a produced object that can be retained, validated, rejected, anchored, or harvested.¶
Anchor: the promotion of an artifact into durable authoritative runtime state.¶
Membrane: the enforcement boundary around a zone and its sensitive state transitions.¶
Budget: an explicit bound on expansion, actor creation, artifact volume, validation cost, or other governed quantities.¶
Run: a concrete execution attempt or recovery/harvest attempt associated with an actor or task scope and having a terminal outcome.¶
Replay: authoritative reconstruction of zone state from events, anchors, and checkpoints; not reproduction of token-level reasoning.¶
Harvest: a runtime operation that returns anchored outputs from a zone.¶
Effect: an external or cross-boundary action whose primary result is not only a local artifact, but a mutation, publication, delivery, or other action against another authority boundary.¶
Spawn Regime: an implementation-defined policy governing the propagation dynamics of actor creation within a zone or partition, including concurrency limits, descendant spawning rules, competition, throttling, quarantine, merge, or termination behavior.¶
Ledger Manifest: a stable description of the replay-relevant ledger surfaces for a zone, including schema versions, runtime profile, measurement convention, and record paths.¶
An APSIX-compliant runtime MUST expose the following logical objects.¶
These objects define logical runtime state, not a mandated storage substrate. Implementations MAY represent them using graphs, databases, event streams, logs, or other internal structures, provided the normative semantics of the contract remain observable.¶
A zone MUST have at least:¶
zone_id¶
domain_spec¶
lifecycle_state¶
membrane_policy_version¶
budget_state¶
partition_state¶
authoritative_state_ref¶
In APSIX-governed and APSIX-replayable, a zone SHOULD additionally expose:¶
output_boundary_ref or equivalent authoritative harvest target surface¶
ledger_state¶
ledger_manifest_ref, if a separate manifest object is used¶
Optional implementation fields MAY include ownership metadata, external bindings, topology hints, or storage references.¶
authoritative_state_ref denotes the runtime's single authoritative execution state for the zone. Implementations MAY expose dashboards, plans, manifests, or other operator-facing projections, but such projections MUST NOT function as independent control planes with authority to diverge from authoritative zone state.¶
A partition MUST have at least:¶
The runtime MAY materialize partitions explicitly or derive them from a structured domain substrate, but partition identity and locality semantics MUST be observable.¶
A run MUST have at least:¶
run_id¶
zone_id¶
request_id¶
run_kind¶
status¶
started_at¶
ended_at or equivalent terminal timestamp¶
If the runtime associates runs with an actor or partition-local task, it MUST expose that binding.¶
Run kinds MUST distinguish at minimum:¶
An anchored artifact MUST have an associated anchor record containing at least:¶
A membrane-mediated decision MUST have an auditable decision record containing at least:¶
A membrane policy MUST define:¶
The runtime MUST produce an event stream or event log containing at least:¶
Each event record MUST expose at least:¶
event_id¶
seq_no or equivalent global authoritative order index¶
zone_id¶
event_type¶
subject_ref¶
request_id, if the event is part of a membrane-mediated request chain¶
run_id, if the event is part of a concrete execution attempt¶
timestamp_or_order¶
causal_ref or equivalent parent reference, if such ordering is supported¶
If a runtime stores events, decisions, and anchors in separate ledgers, those ledgers MUST still preserve one authoritative cross-ledger ordering surface such as a shared monotonic seq_no.¶
APSIX-replayable runtimes SHOULD expose a ledger manifest containing at least:¶
APSIX-core runtimes MUST implement the lifecycle primitives in Sections 4.1-4.7. Governed and replayable profiles MUST additionally implement the observability primitive in Section 4.8.¶
zone(domain_spec) -> zone_id
Creates a zone from a domain specification.¶
Requirements:¶
zone_id.¶
spawn(capability_set, zone_id, intent) -> actor_id | error
Requests creation of an actor in a zone.¶
Requirements:¶
spawn() MUST admit at most one actor. Multi-actor populations MUST arise through repeated or descendant invocations of spawn(), not through batch return of a single call.¶
APSIX-governed and APSIX-replayable, spawn request and decision surfaces MUST be correlated by a stable request_id.¶
run_id or equivalent execution identifier for that concrete attempt.¶
Spawn Regime.¶
APSIX-governed and APSIX-replayable, MUST be membrane-mediated.¶
refine(zone_id, scope_ref, hypothesis) -> partition_set | error
Requests semantic decomposition or restructuring within a zone.¶
Requirements:¶
APSIX-governed and APSIX-replayable, policy-sensitive refinement MUST be membrane-mediated.¶
execute(actor_id, target_ref, capability, input_refs) -> artifact | error
Applies a capability to a zone target or artifact target.¶
Requirements:¶
APSIX-governed and APSIX-replayable profiles MUST subject those effects to membrane mediation and auditable event records before completion.¶
anchor(artifact_ref, zone_id) -> anchor_id | error
Promotes an artifact into anchored state.¶
Requirements:¶
APSIX-governed and APSIX-replayable, MUST be membrane-mediated.¶
harvest(zone_id, filter) -> artifact_set
Returns anchored artifacts matching a filter or harvest profile.¶
Requirements:¶
freeze(zone_id) -> lifecycle_state | error
Transitions a zone into a closure regime.¶
Requirements:¶
observe(zone_id) -> event_stream | event_slice
Returns runtime events for the zone.¶
Requirements:¶
APSIX-governed and APSIX-replayable, ordering SHOULD be reconstructible through a stable cross-ledger ordering surface such as seq_no, not only through wall-clock timestamps.¶
APSIX-replayable, request/decision/run correlation surfaces SHOULD be observable.¶
Capabilities are primitive permissions in APSIX. Roles are derived from them.¶
An implementation SHOULD support capability names equivalent to:¶
Equivalent implementation-local names MAY be used if their semantics are documented. Implementations MAY define richer capability vocabularies above this primitive substrate.¶
freeze() is a zone-administrative closure primitive and need not be exposed as a general actor capability.¶
Every actor MUST operate under a capability mask. The runtime MUST reject attempts to execute a primitive that exceeds the actor's mask.¶
Capability grants MUST be interpreted relative to locality. Authorization is incomplete unless the runtime can answer both:¶
Roles are not normative objects in APSIX. A runtime MAY expose roles for ergonomics, but the normative substrate MUST remain the capability mask plus locality binding.¶
The membrane is the critical enforcement locus of APSIX.¶
The runtime MUST subject the following operations to membrane mediation:¶
If an implementation allows any of these operations to bypass membrane checks, it is not compliant with governed profiles.¶
Membrane decisions MUST expose at least three outcomes:¶
escalate indicates that local runtime authority is insufficient and an external approval or higher-level policy decision is required.¶
Each membrane-mediated decision MUST make available:¶
An implementation SHOULD expose this through a stable membrane_decision_record schema rather than through framework-local logging formats.¶
Budget exhaustion MUST be visible to membrane decisions. An exhausted zone MUST NOT continue infinite spawn or refinement as if the runtime had no control surface. If an implementation supports effect quotas or publication limits, exhaustion of those limits MUST likewise be visible to membrane decisions.¶
If an implementation supports multiple actors within one partition, budget and admission state SHOULD remain interpretable at that partition-local expansion boundary rather than only at whole-zone granularity.¶
Deferral due to budget or capacity pressure MUST remain distinguishable from execution failure. A runtime MUST NOT collapse budget_exhausted, queued, or deferred conditions into terminal actor failure unless an execution actually ran and failed.¶
APSIX is not only about actor lifecycle. It is also about stable artifact handling and authoritative replay.¶
An implementation MUST support a lifecycle in which artifacts are at minimum:¶
If an implementation distinguishes between partition-local candidate outputs and authoritative final outputs, that distinction SHOULD remain explicit in artifact type, lifecycle state, or equivalent durable metadata.¶
Anchored artifacts MUST preserve enough provenance to answer:¶
At minimum, an anchored artifact SHOULD be portable together with:¶
anchor_record;¶
membrane_decision_record;¶
If an anchored artifact is the basis for an external effect, the runtime SHOULD preserve a portable reference to the effect decision and effect outcome record as well.¶
An implementation MUST support authoritative reconstruction of zone state from:¶
Replay MUST reconstruct authoritative runtime state. It MUST NOT be interpreted as a requirement to reproduce original latent reasoning traces.¶
For portability, replay-relevant records MUST be serializable through stable schemas rather than through implementation-specific debug logs alone.¶
If replay-relevant data is split across multiple ledgers, replay MUST reconstruct a single authoritative order across them.¶
When actor executions are cancelled, aborted, or otherwise force-terminated, replay MUST reconstruct those executions as terminal outcomes rather than as still-live runtime activity.¶
When execution is interrupted by runtime restart, process disappearance, or other loss of live actor state, a governed or replayable runtime SHOULD normalize the affected execution into a terminal, recovered, or requeued state rather than leaving authoritative state ambiguous.¶
If an implementation supports within-partition actor populations, replay SHOULD also reconstruct the effective spawn regime and lineage context sufficiently to distinguish bounded exploration from uncontrolled epidemic expansion.¶
If an implementation exposes operator-facing projections or planning views in addition to authoritative zone state, replay MUST treat those views as derived artifacts rather than as independent authoritative inputs.¶
An implementation MUST NOT treat generated output as anchored by default unless generation and anchoring are explicitly collapsed into one documented primitive.¶
If an implementation exposes runtime telemetry, proxy metrics, or derived analytical surfaces in addition to the core APSIX objects, it SHOULD expose a stable measurement convention describing:¶
Implementations MAY expose population metrics describing actor population size, spawn rate, partition-local population distribution, or other indicators useful for detecting uncontrolled expansion regimes.¶
If such metrics are used to support replayable analysis, comparison across zones, or theory-mapping claims, APSIX-replayable implementations SHOULD make that measurement convention visible through a stable manifest, report schema, or equivalent replay-relevant surface.¶
Primitive failures SHOULD be structured rather than opaque.¶
Recommended error classes:¶
policy_denied¶
budget_exhausted¶
unknown_zone¶
unknown_actor¶
unknown_artifact¶
unknown_partition¶
capability_denied¶
invalid_transition¶
effect_denied¶
requires_escalation¶
replay_unavailable¶
aborted¶
cancelled¶
When observe(zone_id) is implemented, the runtime SHOULD make these errors observable through it. APSIX-governed and APSIX-replayable profiles MUST do so.¶
This document defines three progressive profiles.¶
APSIX-core
Requires:¶
This profile is the minimal portable primitive surface.¶
APSIX-governed
Requires all APSIX-core primitives plus:¶
observe¶
This profile is the minimum useful profile for real spawn governance.¶
APSIX-replayable
Requires all APSIX-governed features plus:¶
This profile is the recommended basis for research and auditable production systems.¶
Primitive presence alone is insufficient to establish meaningful APSIX conformance.¶
Recommended conformance evaluation SHOULD additionally check:¶
zone, spawn, execute, anchor, harvest, and freeze;¶
Implementations MAY satisfy these checks through scenario traces, replay fixtures, or other stable lifecycle test surfaces rather than only through isolated primitive-level tests.¶
APSIX does not mandate a specific implementation style.¶
Examples:¶
What matters is not the domain itself, but whether the runtime exposes the primitives, locality semantics, membrane decisions, and replay obligations coherently.¶
APSIX does not attempt to standardize:¶
Those may exist above or below the APSIX layer, but they are not part of the core contract.¶
Several questions remain open for later versions:¶
merge() belongs in an extension set;¶
effect() primitive should remain derived from execute() plus membrane policy or become standardized;¶
checkpoint() primitive should remain derived or become standardized;¶
Run should remain a logical object or become a first-class primitive argument surface;¶
APSIX defines a governance surface for spawn-capable semantic runtimes. As a result, security and governance failures in an APSIX implementation are not limited to data exposure; they can also alter population growth, artifact promotion, and cross-boundary effects.¶
Improper membrane policy configuration, incomplete mediation, or weak audit surfaces may lead to:¶
Implementations SHOULD ensure that membrane policies enforce:¶
Implementations supporting external effects SHOULD additionally ensure that:¶
Failure to enforce these constraints may result in loss of governance over semantic expansion within a zone and may permit unauthorized external actions to appear compliant in operator-facing views.¶
This document has no IANA actions.¶
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997.¶
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017.¶
APSIX is a proposal for a minimal primitive contract for portable semantic runtimes. Its central claim is that the portable layer should standardize zone, membrane, run, artifact, locality, and replay operations rather than framework-local agent behaviors.¶
If this direction is useful, higher-level runtimes and applications can target a stable substrate of zones, spawn, refinement, execution runs, anchoring, harvest, membrane decisions, and replayable authoritative state. That would move the field one step away from ad hoc orchestration and one step closer to real runtime portability.¶