Lumen
Reference

Contract limits

Generated field-size, numeric, and pattern constraints from Pydantic schemas.

These limits protect the current public and persisted boundary. Infrastructure and measured performance budgets are documented separately because they are not Pydantic field constraints.

Field constraints

ModelFieldTypeConstraint
AgentEventattempt_idAttemptIdpattern ^att_[0-9a-f]{32}$
AgentEventevent_idEventIdpattern ^eve_[0-9a-f]{32}$
AgentEventprovider_sequenceintegerminimum 0
ApprovalEventattempt_idAttemptIdpattern ^att_[0-9a-f]{32}$
ApprovalEventdecisionpending | approved | denied | expiredvalues pending, approved, denied, expired
ApprovalEventevent_idEventIdpattern ^eve_[0-9a-f]{32}$
ApprovalEventevent_typeapproval.requested | approval.resolvedvalues approval.requested, approval.resolved
ApprovalEventprovider_sequenceintegerminimum 0
ArtifactManifestartifact_idArtifactIdpattern ^art_[0-9a-f]{32}$
ArtifactManifestdigeststringpattern ^sha256:[0-9a-f]{64}$
ArtifactManifestmedia_typestringminimum length 1; maximum length 255
ArtifactManifestproducing_attempt_idAttemptIdpattern ^att_[0-9a-f]{32}$
ArtifactManifestproject_idProjectIdpattern ^prj_[0-9a-f]{32}$
ArtifactManifestsize_bytesintegerminimum 0
ArtifactManifeststorage_keystringminimum length 1; maximum length 1024
ArtifactManifestworkspace_idWorkspaceIdpattern ^wsp_[0-9a-f]{32}$
ArtifactPublishedEventartifact_idArtifactIdpattern ^art_[0-9a-f]{32}$
ArtifactPublishedEventattempt_idAttemptIdpattern ^att_[0-9a-f]{32}$
ArtifactPublishedEventevent_idEventIdpattern ^eve_[0-9a-f]{32}$
ArtifactPublishedEventevent_typeartifact.publishedfixed value artifact.published
ArtifactPublishedEventprovider_sequenceintegerminimum 0
AttemptLifecycleEventattempt_idAttemptIdpattern ^att_[0-9a-f]{32}$
AttemptLifecycleEventevent_idEventIdpattern ^eve_[0-9a-f]{32}$
AttemptLifecycleEventevent_typeattempt.queued | attempt.provisioning | attempt.started | attempt.paused | attempt.resumed | attempt.completed | attempt.failed | attempt.cancelledvalues attempt.queued, attempt.provisioning, attempt.started, attempt.paused, attempt.resumed, attempt.completed, attempt.failed, attempt.cancelled
AttemptLifecycleEventprovider_sequenceintegerminimum 0
CheckpointCreatedEventattempt_idAttemptIdpattern ^att_[0-9a-f]{32}$
CheckpointCreatedEventevent_idEventIdpattern ^eve_[0-9a-f]{32}$
CheckpointCreatedEventevent_typecheckpoint.createdfixed value checkpoint.created
CheckpointCreatedEventprovider_sequenceintegerminimum 0
ClaimProposedEventattempt_idAttemptIdpattern ^att_[0-9a-f]{32}$
ClaimProposedEventclaim_idClaimIdpattern ^clm_[0-9a-f]{32}$
ClaimProposedEventevent_idEventIdpattern ^eve_[0-9a-f]{32}$
ClaimProposedEventevent_typeclaim.proposedfixed value claim.proposed
ClaimProposedEventprovider_sequenceintegerminimum 0
CommandAcceptedaggregate_versionintegerminimum 1
CommandAcceptedcommand_idCommandIdpattern ^cmd_[0-9a-f]{32}$
CommandAcceptedfirst_event_cursorCursorpattern ^c1_[A-Za-z0-9_-]{11}$
CommandAcceptedstatusacceptedfixed value accepted
CommandEnvelopecommand_idCommandIdpattern ^cmd_[0-9a-f]{32}$
CommandEnvelopeidempotency_keystringminimum length 8; maximum length 128
CommandEnvelope[CreateResearchRunPayload]command_idCommandIdpattern ^cmd_[0-9a-f]{32}$
CommandEnvelope[CreateResearchRunPayload]idempotency_keystringminimum length 8; maximum length 128
CommandEnvelope[UpdateProjectSettingsPayload]command_idCommandIdpattern ^cmd_[0-9a-f]{32}$
CommandEnvelope[UpdateProjectSettingsPayload]idempotency_keystringminimum length 8; maximum length 128
CommandRejectedcodestringpattern ^[a-z][a-z0-9_.-]+$
CommandRejectedcommand_idCommandIdpattern ^cmd_[0-9a-f]{32}$
CommandRejectedmessagestringminimum length 1; maximum length 500
CommandRejectedobserved_versioninteger | nullinteger: minimum 1
CommandRejectedretry_after_msinteger | nullinteger: minimum 0
CommandRejectedstatusrejectedfixed value rejected
CreateResearchRunCommandcommand_idCommandIdpattern ^cmd_[0-9a-f]{32}$
CreateResearchRunCommandidempotency_keystringminimum length 8; maximum length 128
CreateResearchRunPayloadobjectivestringminimum length 12; maximum length 4000
DomainEventaggregate_versionintegerminimum 1
DomainEventcursorCursorpattern ^c1_[A-Za-z0-9_-]{11}$
DomainEventevent_idEventIdpattern ^eve_[0-9a-f]{32}$
DomainEventevent_typestringpattern ^[a-z][a-z0-9_.-]+$
DomainEventproject_idProjectIdpattern ^prj_[0-9a-f]{32}$
DomainEventschema_version1fixed value 1
DomainEventworkspace_idWorkspaceIdpattern ^wsp_[0-9a-f]{32}$
ErrorDetailcodestringpattern ^[a-z][a-z0-9_.-]+$
ErrorDetailmessagestringminimum length 1; maximum length 500
ErrorDetailretry_after_msinteger | nullinteger: minimum 0
EventActortypehuman | system | attemptvalues human, system, attempt
EvidenceProjectionevidence_ref_idEvidenceRefIdpattern ^evr_[0-9a-f]{32}$
EvidenceProjectiontarget_kindartifactfixed value artifact
HealthStatusstatusokfixed value ok
MessageEventattempt_idAttemptIdpattern ^att_[0-9a-f]{32}$
MessageEventevent_idEventIdpattern ^eve_[0-9a-f]{32}$
MessageEventevent_typemessage.started | message.delta | message.completedvalues message.started, message.delta, message.completed
MessageEventprovider_sequenceintegerminimum 0
ProjectProjectionproject_idProjectIdpattern ^prj_[0-9a-f]{32}$
ProjectProjectionversionintegerminimum 1
ProjectProjectionworkspace_idWorkspaceIdpattern ^wsp_[0-9a-f]{32}$
ProjectSettingsinspector_widthintegerminimum 320; maximum 480
ProjectSettingsnavigator_widthintegerminimum 216; maximum 384
ProjectSettingsthemesystem | light | darkvalues system, light, dark
ReasoningSummaryEventattempt_idAttemptIdpattern ^att_[0-9a-f]{32}$
ReasoningSummaryEventevent_idEventIdpattern ^eve_[0-9a-f]{32}$
ReasoningSummaryEventevent_typereasoning.summaryfixed value reasoning.summary
ReasoningSummaryEventprovider_sequenceintegerminimum 0
ResearchStorylatest_cursorCursorpattern ^c1_[A-Za-z0-9_-]{11}$
ResearchStoryplan_version_idPlanVersionIdpattern ^pln_[0-9a-f]{32}$
ResearchStoryproject_idProjectIdpattern ^prj_[0-9a-f]{32}$
ResearchStoryrun_idRunIdpattern ^run_[0-9a-f]{32}$
ResearchStoryworkspace_idWorkspaceIdpattern ^wsp_[0-9a-f]{32}$
SandboxCapabilitiesmax_cpuintegerminimum 1
SandboxCapabilitiesmax_memory_mibintegerminimum 256
StoryAttemptattempt_idAttemptIdpattern ^att_[0-9a-f]{32}$
StoryAttemptstatesucceededfixed value succeeded
StoryBlockblock_idBlockIdpattern ^blk_[0-9a-f]{32}$
StoryBlockblock_revision_idBlockRevisionIdpattern ^rev_[0-9a-f]{32}$
StoryBlockdocument_idDocumentIdpattern ^doc_[0-9a-f]{32}$
StoryBlockexecution_idExecutionIdpattern ^exe_[0-9a-f]{32}$
StoryBlockexecution_output_idExecutionOutputIdpattern ^out_[0-9a-f]{32}$
StoryClaimclaim_idClaimIdpattern ^clm_[0-9a-f]{32}$
StoryClaimclaim_revision_idClaimRevisionIdpattern ^crv_[0-9a-f]{32}$
StoryClaimcurrentnesscurrentfixed value current
StoryClaimevidence_ref_idEvidenceRefIdpattern ^evr_[0-9a-f]{32}$
StoryClaimreview_statusacceptedfixed value accepted
StoryClaimvalidityvalid-for-pinned-inputsfixed value valid-for-pinned-inputs
StoryTaskphasecompletedfixed value completed
StoryTasktask_idTaskIdpattern ^tsk_[0-9a-f]{32}$
StoryWriteupblock_revision_idBlockRevisionIdpattern ^rev_[0-9a-f]{32}$
StoryWriteupdocument_idDocumentIdpattern ^doc_[0-9a-f]{32}$
TaskProposedEventattempt_idAttemptIdpattern ^att_[0-9a-f]{32}$
TaskProposedEventevent_idEventIdpattern ^eve_[0-9a-f]{32}$
TaskProposedEventevent_typetask.proposedfixed value task.proposed
TaskProposedEventprovider_sequenceintegerminimum 0
ToolEventattempt_idAttemptIdpattern ^att_[0-9a-f]{32}$
ToolEventevent_idEventIdpattern ^eve_[0-9a-f]{32}$
ToolEventevent_typetool.requested | tool.started | tool.delta | tool.completedvalues tool.requested, tool.started, tool.delta, tool.completed
ToolEventprovider_sequenceintegerminimum 0
ToolEventstatusrequested | running | succeeded | failedvalues requested, running, succeeded, failed
UpdateProjectSettingsCommandcommand_idCommandIdpattern ^cmd_[0-9a-f]{32}$
UpdateProjectSettingsCommandidempotency_keystringminimum length 8; maximum length 128
UpdateProjectSettingsPayloadexpected_versionintegerminimum 1
UsageUpdatedEventattempt_idAttemptIdpattern ^att_[0-9a-f]{32}$
UsageUpdatedEventestimated_cost_microsintegerminimum 0
UsageUpdatedEventevent_idEventIdpattern ^eve_[0-9a-f]{32}$
UsageUpdatedEventevent_typeusage.updatedfixed value usage.updated
UsageUpdatedEventinput_tokensintegerminimum 0
UsageUpdatedEventoutput_tokensintegerminimum 0
UsageUpdatedEventprovider_sequenceintegerminimum 0

On this page