Skip to main content

Caveman UI API

Table of Contents

Top

upsquad/caveman/v1/options.proto

ClearanceLevel

ClearanceLevel is a self-contained mirror of the RBAC clearance ladder, used only by the caveman-ui generator. DO NOT substitute for the authoritative runtime clearance at policy-check time.

NameNumberDescription
CLEARANCE_LEVEL_UNSPECIFIED0CLEARANCE_LEVEL_UNSPECIFIED — walker treats this as L5 (founder-only) and emits a canEdit() that returns false for every role below L5.
CLEARANCE_LEVEL_L11CLEARANCE_LEVEL_L1 — any authenticated tenant member.
CLEARANCE_LEVEL_L22CLEARANCE_LEVEL_L2 — team lead / operator.
CLEARANCE_LEVEL_L33CLEARANCE_LEVEL_L3 — tenant admin.
CLEARANCE_LEVEL_L44CLEARANCE_LEVEL_L4 — platform admin (cross-tenant).
CLEARANCE_LEVEL_L55CLEARANCE_LEVEL_L5 — founder / platform operator (default fail-closed level).

File-level Extensions

ExtensionTypeBaseNumberDescription
edit_clearanceClearanceLevel.google.protobuf.FieldOptions60401edit_clearance declares the minimum clearance required to write this field through a caveman-generated B-surface form. Absence of the option fails closed to CLEARANCE_LEVEL_L5 — there is NO inheritance from parent messages, parent fields, or containing oneofs.

Field number 60401 is within the Upsquad caveman-reserved range. | | read_clearance | ClearanceLevel | .google.protobuf.FieldOptions | 60402 | read_clearance declares the minimum clearance required to view this field's value on a caveman-generated read path. Default (when unset) is to inherit edit_clearance; the walker makes this explicit in the IR, renderers do NOT re-derive.

Field number 60402 is within the Upsquad caveman-reserved range. |

Scalar Value Types

.proto TypeNotesC++JavaPythonGoC#PHPRuby
doubledoubledoublefloatfloat64doublefloatFloat
floatfloatfloatfloatfloat32floatfloatFloat
int32Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead.int32intintint32intintegerBignum or Fixnum (as required)
int64Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead.int64longint/longint64longinteger/stringBignum
uint32Uses variable-length encoding.uint32intint/longuint32uintintegerBignum or Fixnum (as required)
uint64Uses variable-length encoding.uint64longint/longuint64ulonginteger/stringBignum or Fixnum (as required)
sint32Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s.int32intintint32intintegerBignum or Fixnum (as required)
sint64Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s.int64longint/longint64longinteger/stringBignum
fixed32Always four bytes. More efficient than uint32 if values are often greater than 2^28.uint32intintuint32uintintegerBignum or Fixnum (as required)
fixed64Always eight bytes. More efficient than uint64 if values are often greater than 2^56.uint64longint/longuint64ulonginteger/stringBignum
sfixed32Always four bytes.int32intintint32intintegerBignum or Fixnum (as required)
sfixed64Always eight bytes.int64longint/longint64longinteger/stringBignum
boolboolbooleanbooleanboolboolbooleanTrueClass/FalseClass
stringA string must always contain UTF-8 encoded or 7-bit ASCII text.stringStringstr/unicodestringstringstringString (UTF-8)
bytesMay contain any arbitrary sequence of bytes.stringByteStringstr[]byteByteStringstringString (ASCII-8BIT)