RStack Spec v1alpha1
The RStack Spec (rstack.dev/v1alpha1) pins down, normatively, the files a governed run writes and the lifecycle semantics the harness enforces. It is derived from the shipped code, never from intent: every schema, enum, and gate is backed by a runtime producer or validator in the repository, with the source module named next to each section. Nothing aspirational ships in the spec.
What ships
Two kinds of schema
- Raw on-disk file schemas describe exactly what RStack writes today: the builder contract (
builder.json), validator contract (validation.json), approvals ledger, evidence ledger lines, and attestation envelopes — plus the raw shapes ofmanifest.json,tasks.json,decisions.json,policy.json, andrstack.config.jsonunder each resource schema’sdefinitions. - Resource envelope schemas are Kubernetes-style projections (
apiVersion: rstack.dev/v1alpha1,kind,metadata,spec,status) for tools that exchange RStack resources:Run,Task,Decision,Gate,Profile,Project,AgentRole,Adapter. The attestation is exempt — it defines its own envelope (schema: rstack.dev/attestation/v1alpha1) exactly as the code writes it.
additionalProperties: true; only value sets the code actually closes (status enums, impacts, predicate types) are closed in the schemas.
Conformance levels
Claim conformance by level and version: “conforms to RStack Spec
rstack.dev/v1alpha1, level business-flex”.
Validate anything
/tasks/1/status: must be equal to one of the allowed values). Exit 0 clean, exit 1 on any FAIL. CI runs it on every push (npm run validate:schemas), so schema/producer drift cannot land silently.
Related pages
- Attestation Envelopes — the
rstack.dev/attestation/v1alpha1format in depth - Configuration — the
.rstack/*.jsonfiles the Project/Gate/Profile schemas project - Pipeline reference — the 15 canonical stages and run state
