Skip to main content

Topic Constraints

Prisma AIRS enforces hard limits on custom topic definitions. Prisma AIRS CLI validates these on every topics create, rejecting overflow with a clear error so a malformed topic never reaches the AIRS API.

Limits

FieldMax Length
Name100 characters
Description250 characters
Each example250 characters
Examples count2--5
Combined (description + all examples)1000 characters
UTF-8 Byte Length

All length checks use UTF-8 byte length, not character count. Multi-byte characters (emoji, non-ASCII) consume more than one unit toward the limit.


Validation on Create

runtime topics create runs validateTopic() before upserting. It checks every limit and fails fast on any overflow, returning error strings that name exactly what exceeded — it never silently truncates. The agent (or you) fixes the definition and retries.

Why reject, not clamp

Surfacing a clear validation error at the CLI boundary keeps the agent loop honest and gives an immediate, actionable message instead of an opaque AIRS API rejection mid-loop.


Where It Lives

validateTopic() is exported from src/core/constraints.ts and used by the topic commands and test suites. It checks all limits and returns error strings — non-destructive, so it doubles for diagnostics and tests.


Topic Name Locking

info

After iteration 1, the topic name is locked — only the description and examples change in subsequent iterations. This prevents AIRS sync issues from name changes mid-run.