Caveman UI API
Table of Contents
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.
| Name | Number | Description |
|---|---|---|
| CLEARANCE_LEVEL_UNSPECIFIED | 0 | CLEARANCE_LEVEL_UNSPECIFIED — walker treats this as L5 (founder-only) and emits a canEdit() that returns false for every role below L5. |
| CLEARANCE_LEVEL_L1 | 1 | CLEARANCE_LEVEL_L1 — any authenticated tenant member. |
| CLEARANCE_LEVEL_L2 | 2 | CLEARANCE_LEVEL_L2 — team lead / operator. |
| CLEARANCE_LEVEL_L3 | 3 | CLEARANCE_LEVEL_L3 — tenant admin. |
| CLEARANCE_LEVEL_L4 | 4 | CLEARANCE_LEVEL_L4 — platform admin (cross-tenant). |
| CLEARANCE_LEVEL_L5 | 5 | CLEARANCE_LEVEL_L5 — founder / platform operator (default fail-closed level). |
File-level Extensions
| Extension | Type | Base | Number | Description |
|---|---|---|---|---|
| edit_clearance | ClearanceLevel | .google.protobuf.FieldOptions | 60401 | edit_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 Type | Notes | C++ | Java | Python | Go | C# | PHP | Ruby |
|---|---|---|---|---|---|---|---|---|
| double | double | double | float | float64 | double | float | Float | |
| float | float | float | float | float32 | float | float | Float | |
| int32 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
| int64 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | int64 | long | int/long | int64 | long | integer/string | Bignum |
| uint32 | Uses variable-length encoding. | uint32 | int | int/long | uint32 | uint | integer | Bignum or Fixnum (as required) |
| uint64 | Uses variable-length encoding. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum or Fixnum (as required) |
| sint32 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
| sint64 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int64 | long | int/long | int64 | long | integer/string | Bignum |
| fixed32 | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | uint32 | int | int | uint32 | uint | integer | Bignum or Fixnum (as required) |
| fixed64 | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum |
| sfixed32 | Always four bytes. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
| sfixed64 | Always eight bytes. | int64 | long | int/long | int64 | long | integer/string | Bignum |
| bool | bool | boolean | boolean | bool | bool | boolean | TrueClass/FalseClass | |
| string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | string | String | str/unicode | string | string | string | String (UTF-8) |
| bytes | May contain any arbitrary sequence of bytes. | string | ByteString | str | []byte | ByteString | string | String (ASCII-8BIT) |