Error Code Reference
Catalog of NovaServe compiler error codes with causes, fixes, and code examples.
This document catalogs NovaServe compiler error codes, their causes, and solutions.
ERR_AST_DYNAMIC_NAME (Code 1001)
Meaning: A cloud resource primitive was declared using a dynamic runtime expression.
Cause: NovaServe static analysis requires resource names to be string literals. Dynamic names cannot be resolved at compile time.
Fix: Replace dynamic expressions with literal strings:
// ❌ Bad — dynamic name
export const bucket = storage("bucket-" + Math.random());
// ✓ Good — literal string
export const bucket = storage("user-bucket-prod");ERR_UNBOUND_RESOURCE (Code 1002)
Meaning: A route handler references a resource that is not exported at top-level scope.
Cause: The compiler cannot infer dependency graph edges if constructs are scoped locally inside function blocks.
Fix: Export the resource construct at module top level:
// ❌ Bad — not exported
const myQueue = queue("task-queue");
// ✓ Good — exported at module level
export const myQueue = queue("task-queue");ERR_DRIFT_CHECKSUM_MISMATCH (Code 2001)
Meaning: Live cloud infrastructure hash does not match the state lock checksum in .nova/state.json.
Cause: A resource was modified outside of NovaServe (e.g., via AWS Console or external CLI tool).
Fix: Run drift remediation:
nova drift --fixVerification: After running the fix, verify with:
nova drift --target awsRelated
- nova compile — where compilation errors surface
- nova drift — for drift-related errors
- Compiler Pipeline — understanding AST validation