Core Concepts
Nova Intermediate Representation (Nova IR)
The provider-neutral intermediate representation schema, state hashing mechanism, and JSON specification.
Nova IR (Intermediate Representation) is a standardized, declarative JSON schema emitted by the NovaServe compiler after AST analysis and graph construction. It acts as an architectural boundary between your application code and cloud-specific provider drivers.
Schema Structure
A valid Nova IR payload contains four top-level objects:
Nova IR Schema
1{2 "$schema": "https://novaserve.cloud/schemas/v1/ir.json",3 "version": "1.0.0",4 "meta": {5 "appName": "ecommerce-backend",6 "compilerVersion": "2.1.12",7 "timestamp": "2026-08-15T21:16:00.000Z",8 "stateHash": "e3b0c44298fc1c149afbf4c8996fb924..."9 },10 "resources": [11 {12 "id": "storage:user-uploads",13 "type": "novaserve/storage",14 "name": "user-uploads",15 "properties": { "public": false, "encryption": "AES256" },16 "dependencies": []17 },18 {19 "id": "api:post-tasks",20 "type": "novaserve/api",21 "properties": { "method": "POST", "path": "/tasks" },22 "dependencies": ["storage:user-uploads"]23 }24 ],25 "iam": {26 "roles": [27 {28 "name": "post-tasks-role",29 "boundTo": "api:post-tasks",30 "permissions": [31 { "action": "s3:PutObject", "resource": "arn:aws:s3:::user-uploads/*" }32 ]33 }34 ]35 }36}State Hashing Mechanism
Nova IR calculates a deterministic SHA-256 state lock hash:
- Sort all resources deterministically by
resource.id - Serialize properties into canonical JSON with key sorting
- Compute SHA-256 checksum of the serialized payload
This hash is saved to .nova/state.json and used by nova drift to verify deployment integrity.