Schema
Use this reference to inspect fields, methods, accepted values and failure outcomes. For setup and working examples, start with the API guide.
Definition: abstraction.facade
Service Resolver [DEF-S1]
Common provider resolution vocabulary. Authorization comes from the receiving boundary, never from request fields. See RESOLUTION.md for selection and refusal semantics.
Wire identity: abstraction.facade/resolver@1
Multiple services share this namespace. Generated ServiceName (Go) and service_name (C++/Python) validate the request envelope and version before returning its service identity for routing. The selected generated dispatcher validates the method and typed arguments; the selector does not authorize callers or interpret method payloads.
Frames carry version, service, method and typed arguments. Transport owns framing, associated exchanges, deadlines and connections. Unknown version/service/method and malformed arguments are rejected before invoking a handler. One-way WriteFrame success means local submission, not remote acceptance or persistence.
Request-response methods use ExchangeFrame. Replies carry version, service, method, ok and payload; success payload contains typed value (or an empty object for void). Error payload contains nonempty code and message, which may be empty. ServiceError preserves unknown codes. Unexpected handler failures become handler_error without private details; invalid results become invalid_result. Clients validate reply identity and result before exposing it. A malformed frame or transport failure remains a local error; the transport must associate each response with its exchange. C++ dispatchers are pure protocol bindings, not listening servers.
Find an authorized ready candidate satisfying an exact acceptable contract and all required guarantees. Does not submit work, activate an embedded provider, or transfer ownership.
Resolve
request-response ResolveResult
- Argument 1:
ResolveRequest request (required, including zero/false/empty)
Service Caller [DEF-S1]
The runtime resolver endpoint's echo of its bound caller, for diagnostics such as the control panel. Local transport only: a remote service states its own authentication and never inherits these proofs.
Wire identity: abstraction.facade/caller@1
Multiple services share this namespace. Generated ServiceName (Go) and service_name (C++/Python) validate the request envelope and version before returning its service identity for routing. The selected generated dispatcher validates the method and typed arguments; the selector does not authorize callers or interpret method payloads.
Frames carry version, service, method and typed arguments. Transport owns framing, associated exchanges, deadlines and connections. Unknown version/service/method and malformed arguments are rejected before invoking a handler. One-way WriteFrame success means local submission, not remote acceptance or persistence.
Request-response methods use ExchangeFrame. Replies carry version, service, method, ok and payload; success payload contains typed value (or an empty object for void). Error payload contains nonempty code and message, which may be empty. ServiceError preserves unknown codes. Unexpected handler failures become handler_error without private details; invalid results become invalid_result. Clients validate reply identity and result before exposing it. A malformed frame or transport failure remains a local error; the transport must associate each response with its exchange. C++ dispatchers are pure protocol bindings, not listening servers.
Return what the receiving boundary bound for this connection's caller. It is the same Program evidence every runtime-hosted local service requires. unavailable means the binding could not be rechecked; forbidden is reserved for a boundary policy that withholds the echo; invalid for a request this provider cannot interpret. Observe grants, checks and changes nothing.
Observe
request-response CallerObservation
Service Endpoint [DEF-S1]
The base-protocol description every generated endpoint serves beside its own contracts. A registry probes readiness with it over a connection that requires the declared program as the server. An endpoint built before this service answers unknown_service.
Wire identity: abstraction.facade/endpoint@1
Multiple services share this namespace. Generated ServiceName (Go) and service_name (C++/Python) validate the request envelope and version before returning its service identity for routing. The selected generated dispatcher validates the method and typed arguments; the selector does not authorize callers or interpret method payloads.
Frames carry version, service, method and typed arguments. Transport owns framing, associated exchanges, deadlines and connections. Unknown version/service/method and malformed arguments are rejected before invoking a handler. One-way WriteFrame success means local submission, not remote acceptance or persistence.
Request-response methods use ExchangeFrame. Replies carry version, service, method, ok and payload; success payload contains typed value (or an empty object for void). Error payload contains nonempty code and message, which may be empty. ServiceError preserves unknown codes. Unexpected handler failures become handler_error without private details; invalid results become invalid_result. Clients validate reply identity and result before exposing it. A malformed frame or transport failure remains a local error; the transport must associate each response with its exchange. C++ dispatchers are pure protocol bindings, not listening servers.
Describe the services this endpoint hosts and each one's readiness. Grants, checks and changes nothing.
Describe
request-response Description
Service Registry [DEF-S1]
The runtime's one directory of the programs it knows, for operator tools: providers it launches or attaches to, foreign HTTP engines the router reaches, and other runtimes over mutual TLS. Applications never read it; they resolve. Each call is a rights decision for the bound operator subject; same-account identity alone grants nothing. A decision point that cannot answer reads unavailable. The registry is local: a remote runtime's services come from its own endpoint@1 Describe, and no registry is read across machines.
Wire identity: abstraction.facade/registry@1
Multiple services share this namespace. Generated ServiceName (Go) and service_name (C++/Python) validate the request envelope and version before returning its service identity for routing. The selected generated dispatcher validates the method and typed arguments; the selector does not authorize callers or interpret method payloads.
Frames carry version, service, method and typed arguments. Transport owns framing, associated exchanges, deadlines and connections. Unknown version/service/method and malformed arguments are rejected before invoking a handler. One-way WriteFrame success means local submission, not remote acceptance or persistence.
Request-response methods use ExchangeFrame. Replies carry version, service, method, ok and payload; success payload contains typed value (or an empty object for void). Error payload contains nonempty code and message, which may be empty. ServiceError preserves unknown codes. Unexpected handler failures become handler_error without private details; invalid results become invalid_result. Clients validate reply identity and result before exposing it. A malformed frame or transport failure remains a local error; the transport must associate each response with its exchange. C++ dispatchers are pure protocol bindings, not listening servers.
Read every declaration and its reading. Gated by abstraction.facade/provider.manage on resource account.
Declarations
request-response DeclarationList
Conditionally add one declaration, kept as providers/<name>.json in the runtime state. Gated by provider.manage. A program cannot declare itself (invalid, program:self). A store:<name> resource writes the permit rule abstraction.storage/inventory.provide on store:<name> for program, and a remote declaration writes abstraction.inference/complete on host:<name> for the runtime's operator programs and the caller; an existing rule on a target is left as it is. A declaration grants nothing else.
Declare
request-response DeclarationChange
- Argument 1:
string expected_revision (required, including zero/false/empty)
- Argument 2:
Declaration declaration (required, including zero/false/empty)
Conditionally remove one declaration: the runtime withdraws its candidates and hosts and ends a launched child. Gated by provider.manage. A declaration the installation or a product declared is disabled by name instead of removed, so a reinstall or a later probe does not resurrect it, and a later Declare of that name enables it again. Rules are left as they are.
Withdraw
request-response DeclarationChange
- Argument 1:
string expected_revision (required, including zero/false/empty)
- Argument 2:
string name (required, including zero/false/empty)
Wait up to wait_ms milliseconds for the declarations or their readings to differ from cursor, then read them. An empty cursor answers at once. Gated by provider.manage.
Observe
request-response DeclarationObservation
- Argument 1:
string cursor (required, including zero/false/empty)
- Argument 2:
i64 wait_ms (required, including zero/false/empty)
Service RegistryV2 [DEF-S1]
The local operator registry with per-profile required extension inventory. It shares the authenticated endpoint, rights decision, revisions and withdrawal authority with registry@1. A registry@1 reading omits extension metadata; a registry@1 Declare creates an empty extension inventory.
Wire identity: abstraction.facade/registry@2
Multiple services share this namespace. Generated ServiceName (Go) and service_name (C++/Python) validate the request envelope and version before returning its service identity for routing. The selected generated dispatcher validates the method and typed arguments; the selector does not authorize callers or interpret method payloads.
Frames carry version, service, method and typed arguments. Transport owns framing, associated exchanges, deadlines and connections. Unknown version/service/method and malformed arguments are rejected before invoking a handler. One-way WriteFrame success means local submission, not remote acceptance or persistence.
Request-response methods use ExchangeFrame. Replies carry version, service, method, ok and payload; success payload contains typed value (or an empty object for void). Error payload contains nonempty code and message, which may be empty. ServiceError preserves unknown codes. Unexpected handler failures become handler_error without private details; invalid results become invalid_result. Clients validate reply identity and result before exposing it. A malformed frame or transport failure remains a local error; the transport must associate each response with its exchange. C++ dispatchers are pure protocol bindings, not listening servers.
Read all declarations, readings and extension inventories under provider.manage.
Declarations
request-response DeclarationListV2
Conditionally add the declaration and its extension inventory as one generation, under provider.manage. The registry@1 Declare semantics for rules and ownership apply.
Declare
request-response DeclarationChange
- Argument 1:
string expected_revision (required, including zero/false/empty)
- Argument 2:
DeclarationWithExtensions declaration (required, including zero/false/empty)
Conditionally withdraw a declaration under provider.manage, with the registry@1 semantics.
Withdraw
request-response DeclarationChange
- Argument 1:
string expected_revision (required, including zero/false/empty)
- Argument 2:
string name (required, including zero/false/empty)
Wait for declarations, readings or extension inventories to change, under provider.manage.
Observe
request-response DeclarationObservationV2
- Argument 1:
string cursor (required, including zero/false/empty)
- Argument 2:
i64 wait_ms (required, including zero/false/empty)
Service Applications [DEF-S1]
Experimental application-presence profile owned by the OA service. Persistent operator descriptors and transient app announcements have distinct authority and lifetime. This is a local directory; MCP/UI metadata are claims, and invocation remains behind OA capability mediation. Native callers retain their actual account/program identity. Unsupported platform identity refuses access.
Wire identity: abstraction.facade/applications@2
Multiple services share this namespace. Generated ServiceName (Go) and service_name (C++/Python) validate the request envelope and version before returning its service identity for routing. The selected generated dispatcher validates the method and typed arguments; the selector does not authorize callers or interpret method payloads.
Frames carry version, service, method and typed arguments. Transport owns framing, associated exchanges, deadlines and connections. Unknown version/service/method and malformed arguments are rejected before invoking a handler. One-way WriteFrame success means local submission, not remote acceptance or persistence.
Request-response methods use ExchangeFrame. Replies carry version, service, method, ok and payload; success payload contains typed value (or an empty object for void). Error payload contains nonempty code and message, which may be empty. ServiceError preserves unknown codes. Unexpected handler failures become handler_error without private details; invalid results become invalid_result. Clients validate reply identity and result before exposing it. A malformed frame or transport failure remains a local error; the transport must associate each response with its exchange. C++ dispatchers are pure protocol bindings, not listening servers.
Add an installed descriptor. Requires application.manage on account for another program's descriptor, or application.register_self on account for the caller's own program, which the account-wide registration default permits; such an entry is self_registered until confirmed. A title that reads as OpenAbstractions is invalid with reason title. Existing names conflict; a program's second self-registration while one is unconfirmed conflicts with reason unconfirmed. Does not launch or grant use.
Register
request-response ApplicationChange
- Argument 1:
ApplicationDescriptor descriptor (required, including zero/false/empty)
Ask the person again, through the runtime's own asks question application.self_registered, whether to keep a self-registered entry. Requires application.manage on account. The person's Keep clears self_registered; Remove removes every unconfirmed entry of its program and blocks that program from registering itself; closing or expiry leaves it unconfirmed. A pending question is replayed. A confirmed or operator-registered entry applies without asking; an unknown name is unknown. An earlier applications@2 service returns unknown_method.
AskConfirmation
request-response ApplicationChange
- Argument 1:
string application (required, including zero/false/empty)
Remove an installed descriptor and its presence. Requires application.manage on account. Does not terminate user applications.
Remove
request-response ApplicationChange
- Argument 1:
string application (required, including zero/false/empty)
Publish or renew presence. Requires application.announce on app:<name>, a bound native program and kernel session matching this runtime, and current owner/session/epoch for renewal. Claims never alter descriptors or grants.
Announce
request-response ApplicationChange
- Argument 1:
ApplicationPresence presence (required, including zero/false/empty)
Withdraw only the bound program and session's own current instance. Requires application.announce on app:<name>. Does not terminate the application or remove its installed descriptor.
Withdraw
request-response ApplicationChange
- Argument 1:
string application (required, including zero/false/empty)
- Argument 2:
string instance (required, including zero/false/empty)
Read or wait for a caller-filtered complete snapshot. Requires application.read on each returned app:<name>; hidden entries and changes remain undisclosed. Empty cursor answers immediately. wait_ms is 0..30000; permissions and lease expiry are rechecked while waiting. No activation occurs.
Observe
request-response ApplicationPage
- Argument 1:
string cursor (required, including zero/false/empty)
- Argument 2:
i64 wait_ms (required, including zero/false/empty)
Reuse a matching descriptor-program-bound presence or share one bounded authorized start attempt in this local runtime session. Requires application.activate on app:<name>. Only the operator-registered typed recipe executes; guidance and announcements remain inert. Caller cancellation stops its wait and never terminates or restarts the application.
Activate
request-response ApplicationActivationResult
- Argument 1:
string application (required, including zero/false/empty)
Read the runtime's start log newest first, for this runtime's operator programs only: any other caller, another account and a remote peer get forbidden. Each start is kept seven days, at most 256. limit is 1..64; cursor is empty or a previous page's, at most 256 bytes. An earlier applications@2 service returns unknown_method.
ListStarts
request-response ApplicationStartPage
- Argument 1:
string cursor (required, including zero/false/empty)
- Argument 2:
i64 limit (required, including zero/false/empty)
Encoding [DEF-E1]
| setting | value | rule |
escape | minimal | [DEF-E2] |
indent | 2 | [DEF-E3] |
map_keys | utf8-bytes | [DEF-E4] |
numbers | integer-decimal | [DEF-E5] |
opaque | verbatim | [DEF-E6] |
terminator | newline | [DEF-E7] |
duplicate_keys | refuse | [DEF-E8] |
depth_limit | 64 | [DEF-E9] |
Types
| kind | types |
| built in | Activation ApplicationActivationOutcome ApplicationOutcome BootstrapState CallerOutcome DeclarationEditOutcome DeclarationListOutcome DeclarationReadiness DeclarationRole DeclarationTransport DescriptionOutcome ResolutionStatus Scope ServiceReadiness bool i64 string |
| declared below | ApplicationActivationRecipe ApplicationDescriptor ApplicationInterface BootstrapObservation Declaration DeclarationCeiling DeclarationHost DeclarationState HostReading RemoteTrust ResolveRequest ResolveResult ServiceReference |
| container [DEF-T3] | list<string> |
| repeated record [DEF-A9] | list<ApplicationContext> list<ApplicationEntry> list<ApplicationInstance> list<ApplicationInterface> list<ApplicationStart> list<CallerAttribute> list<CapabilityObservation> list<DeclarationExtension> list<DeclarationState> list<DeclarationStateV2> list<ServiceState> |
| string map [DEF-A10] | map<string,string> |
Structs [DEF-T1]
A field is required, or says when it is omitted [DEF-A4]. Each struct says on its own what it does with a field name it has never heard of [DEF-A7]. A wire name never moves; where a language must spell it differently the field says so [DEF-A2].
ResolveRequest
unknown fields refuse
| id | field | type | presence | named elsewhere |
| 1 | capability | string | required | — |
| 2 | contracts | list<string> | required | — |
| 3 | guarantees | list<string> | required | — |
| 4 | scope | Scope | required | — |
ServiceReference
unknown fields refuse
| id | field | type | presence | named elsewhere |
| 1 | provider | string | required | — |
| 2 | capability | string | required | — |
| 3 | contract | string | required | — |
| 4 | guarantees | list<string> | required | — |
| 5 | scope | Scope | required | — |
| 6 | transport | string | required | — |
| 7 | endpoint | string | required | — |
ResolveResult
the document [DEF-A1] · unknown fields refuse
| id | field | type | presence | named elsewhere |
| 1 | status | ResolutionStatus | required | — |
| 2 | reference | ServiceReference | optional · omitted when absent | — |
BootstrapObservation
unknown fields refuse
| id | field | type | presence | named elsewhere |
| 1 | state | BootstrapState | required | — |
| 2 | detail | string | optional · omitted when absent | — |
CapabilityObservation
unknown fields refuse
| id | field | type | presence | named elsewhere |
| 1 | request | ResolveRequest | required | — |
| 2 | result | ResolveResult | optional · omitted when absent | — |
RuntimeObservation
unknown fields refuse
| id | field | type | presence | named elsewhere |
| 1 | bootstrap | BootstrapObservation | required | — |
| 2 | capabilities | list<CapabilityObservation> | required | — |
CallerAttribute
unknown fields refuse
| id | field | type | presence | named elsewhere |
| 1 | attribute | string | required | — |
| 2 | proof | string | required | — |
| 3 | ceiling | string | required | — |
CallerObservation
unknown fields refuse
| id | field | type | presence | named elsewhere |
| 1 | outcome | CallerOutcome | required | — |
| 2 | mechanism | string | required | — |
| 3 | account | string | required | — |
| 4 | program | string | required | — |
| 5 | pid | i64 | required | — |
| 6 | attributes | list<CallerAttribute> | required | — |
| 7 | platform | string | required | — |
| 8 | transport | string | required | — |
| 9 | bindable | bool | required | — |
| 10 | stronger | string | required | — |
ServiceState
unknown fields refuse
| id | field | type | presence | named elsewhere |
| 1 | contract | string | required | — |
| 2 | readiness | ServiceReadiness | required | — |
| 3 | why | string | required | — |
| 4 | guarantees | list<string> | required | — |
| 5 | capabilities | map<string,string> | required | — |
Description
unknown fields refuse
| id | field | type | presence | named elsewhere |
| 1 | outcome | DescriptionOutcome | required | — |
| 2 | program | string | required | — |
| 3 | version | string | required | — |
| 4 | services | list<ServiceState> | required | — |
RemoteTrust
unknown fields refuse
| id | field | type | presence | named elsewhere |
| 1 | server_name | string | required | — |
| 2 | roots | string | required | — |
| 3 | certificate | string | required | — |
| 4 | key | string | required | — |
| 5 | credential | string | optional · omitted when zero | — |
DeclarationCeiling
unknown fields refuse
| id | field | type | presence | named elsewhere |
| 1 | tokens_per_day | i64 | optional · omitted when zero | — |
| 2 | micros_per_day | i64 | optional · omitted when zero | — |
| 3 | requests_per_day | i64 | optional · omitted when zero | — |
| 4 | images_per_day | i64 | optional · omitted when zero | — |
| 5 | audio_seconds_per_day | i64 | optional · omitted when zero | — |
| 6 | characters_per_day | i64 | optional · omitted when zero | — |
DeclarationHost
unknown fields refuse
| id | field | type | presence | named elsewhere |
| 1 | base | string | required | — |
| 2 | kind | string | required | — |
| 3 | hosted | bool | required | — |
| 4 | credential | string | optional · omitted when zero | — |
| 5 | ceiling | DeclarationCeiling | optional · omitted when absent | — |
DeclarationExtension
unknown fields refuse
| id | field | type | presence | named elsewhere |
| 1 | profile | string | required | — |
| 2 | key | string | required | — |
Declaration
unknown fields refuse
| id | field | type | presence | named elsewhere |
| 1 | name | string | required | — |
| 2 | program | string | required | — |
| 3 | arguments | list<string> | required | — |
| 4 | endpoint | string | required | — |
| 5 | transport | DeclarationTransport | required | — |
| 6 | contracts | list<string> | required | — |
| 7 | guarantees | list<string> | optional · omitted when zero | — |
| 8 | resources | list<string> | optional · omitted when zero | — |
| 9 | activation | Activation | required | — |
| 10 | remote | RemoteTrust | optional · omitted when absent | — |
| 11 | models | list<string> | optional · omitted when zero | — |
| 12 | role | DeclarationRole | optional · omitted when zero | — |
| 13 | host | DeclarationHost | optional · omitted when absent | — |
DeclarationWithExtensions
unknown fields refuse
| id | field | type | presence | named elsewhere |
| 1 | declaration | Declaration | required | — |
| 2 | supported_extensions | list<DeclarationExtension> | optional · omitted when zero | — |
HostReading
unknown fields refuse
| id | field | type | presence | named elsewhere |
| 1 | up | bool | required | — |
| 2 | why | string | required | — |
DeclarationState
unknown fields refuse
| id | field | type | presence | named elsewhere |
| 1 | declaration | Declaration | required | — |
| 2 | declared_by | string | required | — |
| 3 | declared_unix_ms | i64 | required | — |
| 4 | readiness | DeclarationReadiness | required | — |
| 5 | why | string | required | — |
| 6 | restarts | i64 | required | — |
| 7 | described | list<ServiceState> | required | — |
| 8 | accepted | list<string> | optional · omitted when zero | — |
| 9 | role | DeclarationRole | optional · omitted when zero | — |
| 10 | host | HostReading | optional · omitted when absent | — |
DeclarationList
unknown fields refuse
| id | field | type | presence | named elsewhere |
| 1 | outcome | DeclarationListOutcome | required | — |
| 2 | revision | string | required | — |
| 3 | declarations | list<DeclarationState> | required | — |
DeclarationChange
unknown fields refuse
| id | field | type | presence | named elsewhere |
| 1 | outcome | DeclarationEditOutcome | required | — |
| 2 | revision | string | required | — |
| 3 | reason | string | required | — |
DeclarationObservation
unknown fields refuse
| id | field | type | presence | named elsewhere |
| 1 | outcome | DeclarationListOutcome | required | — |
| 2 | cursor | string | required | — |
| 3 | declarations | list<DeclarationState> | required | — |
DeclarationStateV2
unknown fields refuse
| id | field | type | presence | named elsewhere |
| 1 | state | DeclarationState | required | — |
| 2 | supported_extensions | list<DeclarationExtension> | optional · omitted when zero | — |
DeclarationListV2
unknown fields refuse
| id | field | type | presence | named elsewhere |
| 1 | outcome | DeclarationListOutcome | required | — |
| 2 | revision | string | required | — |
| 3 | declarations | list<DeclarationStateV2> | required | — |
DeclarationObservationV2
unknown fields refuse
| id | field | type | presence | named elsewhere |
| 1 | outcome | DeclarationListOutcome | required | — |
| 2 | cursor | string | required | — |
| 3 | declarations | list<DeclarationStateV2> | required | — |
ApplicationInterface
unknown fields refuse
| id | field | type | presence | named elsewhere |
| 1 | name | string | required | — |
| 2 | protocol | string | required | — |
| 3 | contract | string | required | — |
ApplicationActivationRecipe
unknown fields refuse
| id | field | type | presence | named elsewhere |
| 1 | arguments | list<string> | required | — |
| 2 | readiness | ApplicationInterface | required | — |
| 3 | readiness_timeout_ms | i64 | required | — |
ApplicationDescriptor
unknown fields refuse
| id | field | type | presence | named elsewhere |
| 1 | name | string | required | — |
| 2 | program | string | required | — |
| 3 | title | string | required | — |
| 4 | start_guidance | string | required | — |
| 5 | activation | ApplicationActivationRecipe | optional · omitted when absent | — |
ApplicationContext
unknown fields refuse
| id | field | type | presence | named elsewhere |
| 1 | name | string | required | — |
| 2 | title | string | required | — |
| 3 | revision | string | required | — |
ApplicationPresence
unknown fields refuse
| id | field | type | presence | named elsewhere |
| 1 | application | string | required | — |
| 2 | instance | string | required | — |
| 3 | interfaces | list<ApplicationInterface> | required | — |
| 4 | contexts | list<ApplicationContext> | required | — |
| 5 | lease_ms | i64 | required | — |
ApplicationInstance
unknown fields refuse
| id | field | type | presence | named elsewhere |
| 1 | instance | string | required | — |
| 2 | interfaces | list<ApplicationInterface> | required | — |
| 3 | contexts | list<ApplicationContext> | required | — |
| 4 | expires_unix_ms | i64 | required | — |
ApplicationEntry
unknown fields refuse
| id | field | type | presence | named elsewhere |
| 1 | descriptor | ApplicationDescriptor | required | — |
| 2 | instances | list<ApplicationInstance> | required | — |
| 3 | scope | Scope | required | — |
| 4 | self_registered | bool | optional · omitted when zero | — |
ApplicationChange
unknown fields refuse
| id | field | type | presence | named elsewhere |
| 1 | outcome | ApplicationOutcome | required | — |
| 2 | instance | string | required | — |
| 3 | reason | string | required | — |
ApplicationPage
unknown fields refuse
| id | field | type | presence | named elsewhere |
| 1 | outcome | ApplicationOutcome | required | — |
| 2 | cursor | string | required | — |
| 3 | applications | list<ApplicationEntry> | required | — |
ApplicationActivationResult
unknown fields refuse
| id | field | type | presence | named elsewhere |
| 1 | outcome | ApplicationActivationOutcome | required | — |
| 2 | instance | string | required | — |
| 3 | started | bool | required | — |
| 4 | reason | string | required | — |
ApplicationStart
unknown fields refuse
| id | field | type | presence | named elsewhere |
| 1 | application | string | required | — |
| 2 | program | string | required | — |
| 3 | title | string | required | — |
| 4 | started_unix_ms | i64 | required | — |
| 5 | launched | bool | required | — |
ApplicationStartPage
unknown fields refuse
| id | field | type | presence | named elsewhere |
| 1 | outcome | ApplicationOutcome | required | — |
| 2 | starts | list<ApplicationStart> | required | — |
| 3 | cursor | string | required | — |
| 4 | complete | bool | required | — |
| 5 | complete_since_unix_ms | i64 | required | — |
Enumerations [DEF-T5]
Enum fields carry JSON strings containing exact member wire spellings, never numeric IDs. Unknown names are preserved with grant and refused as bad_enum with refuse on read and write. Optional absent fields preserve presence separately from an empty string.
An enumeration is a closed vocabulary of wire names, and each one says on its own what a reader does with a member it has never heard of [DEF-A5].
Scope
a member this reader does not know is refuse
| id | member | wire |
| 1 | any | any |
| 2 | local | local |
| 3 | remote | remote |
ResolutionStatus
a member this reader does not know is refuse
| id | member | wire |
| 1 | resolved | resolved |
| 2 | unavailable | unavailable |
| 3 | forbidden | forbidden |
| 4 | incompatible | incompatible |
| 5 | unmet_requirements | unmet_requirements |
| 6 | not_ready | not_ready |
| 7 | invalid_request | invalid_request |
BootstrapState
a member this reader does not know is refuse
| id | member | wire |
| 1 | unknown | unknown |
| 2 | installed | installed |
| 3 | starting | starting |
| 4 | running | running |
| 5 | unavailable | unavailable |
CallerOutcome
a member this reader does not know is refuse
| id | member | wire |
| 1 | observed | observed |
| 2 | forbidden | forbidden |
| 3 | unavailable | unavailable |
| 4 | invalid | invalid |
DescriptionOutcome
a member this reader does not know is refuse
| id | member | wire |
| 1 | described | described |
| 2 | forbidden | forbidden |
| 3 | unavailable | unavailable |
| 4 | invalid | invalid |
ServiceReadiness
a member this reader does not know is refuse
| id | member | wire |
| 1 | ready | ready |
| 2 | not_ready | not_ready |
| 3 | unknown | unknown |
DeclarationTransport
a member this reader does not know is refuse
| id | member | wire |
| 1 | native | oa-native@1 |
| 2 | remote | oa-remote@1 |
| 3 | http | http@1 |
DeclarationRole
a member this reader does not know is refuse
| id | member | wire |
| 1 | provider | provider |
| 2 | host | host |
| 3 | remote | remote |
Activation
a member this reader does not know is refuse
| id | member | wire |
| 1 | on_demand | on_demand |
| 2 | attach | attach |
| 3 | remote | remote |
DeclarationReadiness
a member this reader does not know is refuse
| id | member | wire |
| 1 | ready | ready |
| 2 | idle | idle |
| 3 | starting | starting |
| 4 | restarting | restarting |
| 5 | refused | refused |
| 6 | unreachable | unreachable |
| 7 | not_ready | not_ready |
| 8 | disabled | disabled |
DeclarationListOutcome
a member this reader does not know is refuse
| id | member | wire |
| 1 | page | page |
| 2 | invalid | invalid |
| 3 | forbidden | forbidden |
| 4 | unavailable | unavailable |
DeclarationEditOutcome
a member this reader does not know is refuse
| id | member | wire |
| 1 | applied | applied |
| 2 | conflict | conflict |
| 3 | unknown | unknown |
| 4 | invalid | invalid |
| 5 | forbidden | forbidden |
| 6 | unavailable | unavailable |
ApplicationOutcome
a member this reader does not know is refuse
| id | member | wire |
| 1 | applied | applied |
| 2 | page | page |
| 3 | unknown | unknown |
| 4 | stale | stale |
| 5 | conflict | conflict |
| 6 | invalid | invalid |
| 7 | forbidden | forbidden |
| 8 | unavailable | unavailable |
ApplicationActivationOutcome
a member this reader does not know is refuse
| id | member | wire |
| 1 | ready | ready |
| 2 | unknown | unknown |
| 3 | disabled | disabled |
| 4 | forbidden | forbidden |
| 5 | invalid | invalid |
| 6 | launch_refused | launch_refused |
| 7 | identity_refused | identity_refused |
| 8 | not_ready | not_ready |
| 9 | unavailable | unavailable |
Constants [DEF-A6]
| name | type | value |
declaration_resource_kinds | list<string> | store, host, profile, card |
registry_actions | list<string> | abstraction.facade/provider.manage |
default_runtime_contracts | list<string> | abstraction.logging/sink@1, abstraction.config/reader@1, abstraction.job/acceptance@1, abstraction.job/operations@1, abstraction.config/editor@1 |
Refusal words [DEF-R1]
| order | word | stage |
| 1 | malformed | grammar |
| 2 | bad_string | grammar |
| 3 | number_spelling | grammar |
| 4 | wrong_type | grammar |
| 5 | depth_exceeded | grammar |
| 6 | duplicate_key | grammar |
| 7 | duplicate_field | structure |
| 8 | unknown_field | structure |
| 9 | missing_field | structure |
| 10 | bad_enum | structure |
| 11 | trailing_bytes | document |