Operate & govern
Project scaling
Manual scale, autoscale, load balancing, per-surface topology, vertical resources, and PCG-backed measures as one Runtime Fabric capability.
This page is the documentation contract for the Project scaling surface in Vadyl's final form. It is not a marketing summary: it names the authorities, projections, runtime behavior, examples, limits, errors, and observability expectations that every product implementation must honor.
What this surface owns
- Project scaling owns the canonical product-facing contract described here; provider-specific machinery stays behind capability declarations.
- Manual scale, autoscale, load balancing, per-surface topology, vertical resources, and PCG-backed measures as one Runtime Fabric capability.
- The final docs treat this as complete: REST, GraphQL, gRPC, SDK, CLI, MCP, dashboard, observability, limits, errors, and explainability are all covered as projections of one authority.
Canonical authorities
| Authority | Role |
|---|---|
ProjectRuntimeDescriptor | Pins Project scaling to a publication, runtime descriptor, worker, or substrate realization. |
SnapshotManifest | Canonical owner for Project scaling; downstream surfaces derive from this rather than inventing their own truth. |
Branching CAS | Canonical owner for Project scaling; downstream surfaces derive from this rather than inventing their own truth. |
EffectiveGovernanceEnvelope | Canonical owner for Project scaling; downstream surfaces derive from this rather than inventing their own truth. |
Usage ledger | Canonical owner for Project scaling; downstream surfaces derive from this rather than inventing their own truth. |
RuntimeScalingPolicy | Pins Project scaling to a publication, runtime descriptor, worker, or substrate realization. |
RuntimeAutoscalePolicy | Pins Project scaling to a publication, runtime descriptor, worker, or substrate realization. |
RuntimeVerticalResourcePolicy | Pins Project scaling to a publication, runtime descriptor, worker, or substrate realization. |
RuntimeLoadBalancingPolicy | Pins Project scaling to a publication, runtime descriptor, worker, or substrate realization. |
RuntimeGovernanceEnvelope | Pins Project scaling to a publication, runtime descriptor, worker, or substrate realization. |
PlaneCapabilityGraph | Places Project scaling inside the UCSA taxonomy and enforces binding, grants, conformance, and consumption. |
Projection coverage
| Surface kinds | GovernancePolicySurface, BillingMeterSurface, IdentityProviderSurface, AuthSchemeSurface, ObservabilitySurface, ExplainabilitySurface, RuntimeSubstrate |
| Projection facets | Branches, Publications, Observability, Explainability, Installations, ExposureBindings, PlaneCapabilityGraph, Measures |
| Protocols | Rest, OpenApi, Sdk, Cli, Dashboard, Mcp |
| Public projections | project APIs; branch APIs; version APIs; identity/auth APIs; usage APIs; explainability APIs; scaling APIs; dashboard scaling controls; CLI runtime-fabric commands; SDK platform.runtimeFabric namespace; automation actions; explainability |
Project-scope parity
Publish, install, consume
Consumption evidence
Runtime behavior
- branch-aware descriptor compilation
- publication pinning
- hierarchy inheritance
- quota reservation
- observability relay
- Runtime Fabric compiler
- capability satisfaction checker
- runtime-enforced autoscale controller
- substrate native autoscaler
- PCG measure resolver
REST and controller surface
Code-backed controllers are listed here so the docs menu does not hide the real endpoint surface. The complete route-by-route table remains in the REST controller atlas.
| Controller | Base route | Endpoint count | Examples |
|---|---|---|---|
| Projects | /api/projects | 14 | POST createGET resolvePOST {parentProjectId}/childrenGET {projectId}/provider-bindings |
| Branch | /api/Branch | 64 | GET branchesPOST branchesGET branches/{id}DELETE branches/{id} |
| VersionGovernance | /api/version | 13 | GET /GET projects/{projectId}GET projects/{projectId}/publication/{publicationVersion:long}GET platform-baseline |
| IdentityManagement | /api/IdentityManagement | 7 | GET subjectsGET subjects/{id}POST subjects/{id}/deactivateGET memberships |
| Usage | /api/Usage | 7 | GET {projectId}/eventsGET {projectId}/rollupsGET {projectId}/quotasPOST {projectId}/quotas |
| Observability | /api/Observability | 8 | GET EntriesGET Entries/{id}GET Trail/{entityName}GET Trails |
| Explainability | /api/Explainability | 15 | GET surfaceGET project-runtimeGET publication/latestGET publication/{publicationVersion:long} |
| RuntimeFabric | /api/RuntimeFabric and /api/PlatformRuntimeFabric | 35 | GET {projectId}/fabricGET {projectId}/realization/{projectEnvironmentId}GET {projectId}/health/{projectEnvironmentId}GET {projectId}/topology |
| PlaneCapabilityGraph | /api/PlaneCapabilityGraph | 2 | GET descriptorGET nodes/{kind} |
| Measure | /api/Measure | 3 | GET descriptorsGET descriptors/{nodeIdEncoded}POST query |
SDK and CLI surface
| Projection | Namespace / group | Coverage |
|---|---|---|
| SDK | branching | branches, commits, workspaces, sandboxes, proposals, environments, deploy, rollback. Rendered methods: 5. |
| SDK | observability | audit, operational, debug, metrics, traces, diagnostics, reason-code correlation. Rendered methods: 4. |
| SDK | explainability | access, read-plan, surface, publication, analytics, automation, PCG, measure explanations. Rendered methods: 3. |
| SDK | platform | provider health/capabilities, runtime fabric scaling, distribution, version governance, data portability. Rendered methods: 12. |
| CLI | vadyl project | Create, suspend, archive, traverse the project hierarchy. Rendered commands: 7. |
| CLI | vadyl branch | Manage branches and workspaces for the canonical contract. Rendered commands: 6. |
| CLI | vadyl publication | Project runtime publications. Rendered commands: 5. |
| CLI | vadyl deploy | Plan, apply, ramp, and roll back deployments. Rendered commands: 5. |
| CLI | vadyl audit | Tail / search the canonical audit log. Rendered commands: 2. |
| CLI | vadyl explain | Project canonical decision reasoning. Rendered commands: 4. |
| CLI | vadyl runtime-fabric | Topology, scaling, resources, ingress, realization, health, binding, deployment plans, reconcile, drain. Rendered commands: 15. |
| CLI | vadyl graph | Inspect PCG descriptors, nodes, edges, actions, triggers, measures, effects, policies, and transforms. Rendered commands: 6. |
| CLI | vadyl measure | Measure descriptors, units, instruments, freshness, grants, query, and explanation. Rendered commands: 4. |
Input request and output
POST /api/projects/create HTTP/1.1
Host: api.vadyl.app
Authorization: Bearer $VADYL_TOKEN
X-Vadyl-Tenant: acme
X-Vadyl-Project: billing
Content-Type: application/json
{
"surface": "project-scaling",
"publicationVersion": 412,
"explain": true
}Limits and quotas
- Runtime budgets apply per project, environment, surface, scale group, and cumulative project topology.
- Autoscale decisions respect cooldown, hysteresis, drain, rollout suspension, and governance ceilings.
- Manual desired-count changes require runtime.scale grants and idempotency keys for safe retries.
Error model
| Error | Meaning |
|---|---|
CAPABILITY_UNSATISFIED | when the substrate lacks the requested autoscale strategy, metric, partition mode, load-balancing mode, protocol, or resource class. |
GOVERNANCE_DENIED | when ancestor envelopes cap instances, CPU, memory, accelerators, public ingress, sticky sessions, protocols, or custom measure autoscale. |
MEASURE_UNAVAILABLE | when a custom PCG measure has no compatible live sample source for the target. |
QUOTA_EXCEEDED | when cumulative runtime resource budgets or hard usage reservations are exhausted. |
Observability and explainability
- Scale mutations, autoscale decisions, skipped decisions, cooldowns, stale measures, and governance denials emit typed lifecycle records.
- PCG measures carry project, environment, surface, scale group, connector, and target dimensions.
- Explainability reads capability satisfaction reports and autoscale decision records directly from canonical authorities.