gRPC Spec Class Specification
Normative definition of the grpc-spec atom class in schema-atoms.
draft 1.0.0-draft design-spec
| id | schema-atoms/design-spec/grpc-spec-class-spec |
| authors | convergent-systems-co |
| conforms_to | schema-atoms/design-spec/atom-spec@1.1.0 |
| created | 2026-05-23 |
gRPC Spec Class Specification
Class: grpc-spec
Version: 1.0.0-draft
Conforms to: schema-atoms/design-spec/atom-spec@1.1.0
What This Class Covers
The grpc-spec class represents gRPC service contracts expressed as Protocol Buffer (Protobuf) service definition files. It captures service definitions, RPC method signatures, request/response message types, and streaming modalities (unary, server-streaming, client-streaming, bidirectional) for gRPC APIs.
Accepted Asset Formats
.proto— Protocol Buffer IDL file containing service and message definitions
Normative Requirements
- A
grpc-specatom MUST contain a single asset file with a.protoextension that is a valid Protocol Buffers definition parseable underproto3syntax (declared viasyntax = "proto3";). - The asset MUST define at least one
serviceblock containing at least onerpcmethod. - The atom MUST NOT include generated code, server implementation, or client stubs; it describes the service contract only.
Example Atom Reference
schema-atoms/api-spec/inventory-grpc@1.0.0
├── atom.toml (class = "grpc-spec")
└── inventory.proto
This atom would declare the gRPC service contract for an inventory management service, including rpc GetItem, rpc ListItems, and associated Item message types in proto3.
atom.toml
# atom.toml — class specification atom for grpc-spec
id = "schema-atoms/design-spec/grpc-spec-class-spec"
version = "1.0.0-draft"
content_hash = ""
lifecycle = "draft"
created_at = "2026-05-23T00:00:00Z"
[spec]
class = "design-spec"
title = "gRPC Spec Class Specification"
summary = "Normative definition of the grpc-spec atom class in schema-atoms."
authors = ["convergent-systems-co"]
conforms_to = "schema-atoms/design-spec/atom-spec@1.1.0"
asset = "spec.md"