From 02d97e43585e007e5de63adfa6723c9d97e78ddd Mon Sep 17 00:00:00 2001 From: RajatPawar <18614743+RajatPawar@users.noreply.github.com> Date: Thu, 11 Jun 2026 12:04:56 -0700 Subject: [PATCH 1/2] feat(api): add logRetention to project entitlements Add the logRetention entitlement (number of days logs are retained) to the Project schema's entitlements, alongside brandingRemoval, so clients can read it from GetProject when includeEntitlements is true. Co-Authored-By: Claude Opus 4.8 (1M context) --- api/api.yaml | 10 ++++ api/generated/api.json | 112 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 122 insertions(+) diff --git a/api/api.yaml b/api/api.yaml index 56986fa..b1ed62b 100644 --- a/api/api.yaml +++ b/api/api.yaml @@ -4951,6 +4951,16 @@ components: value: type: boolean description: True if Ampersand branding has been removed for this project. + logRetention: + type: object + required: + - value + x-go-type-skip-optional-pointer: true + description: The number of days that logs are retained for this project. + properties: + value: + type: integer + description: The log retention period for this project, in days. ProviderApp: title: Provider App required: diff --git a/api/generated/api.json b/api/generated/api.json index 12dc5b5..54368a4 100644 --- a/api/generated/api.json +++ b/api/generated/api.json @@ -1212,6 +1212,20 @@ "description": "True if Ampersand branding has been removed for this project." } } + }, + "logRetention": { + "type": "object", + "required": [ + "value" + ], + "x-go-type-skip-optional-pointer": true, + "description": "The number of days that logs are retained for this project.", + "properties": { + "value": { + "type": "integer", + "description": "The log retention period for this project, in days." + } + } } } } @@ -1475,6 +1489,20 @@ "description": "True if Ampersand branding has been removed for this project." } } + }, + "logRetention": { + "type": "object", + "required": [ + "value" + ], + "x-go-type-skip-optional-pointer": true, + "description": "The number of days that logs are retained for this project.", + "properties": { + "value": { + "type": "integer", + "description": "The log retention period for this project, in days." + } + } } } } @@ -2039,6 +2067,20 @@ "description": "True if Ampersand branding has been removed for this project." } } + }, + "logRetention": { + "type": "object", + "required": [ + "value" + ], + "x-go-type-skip-optional-pointer": true, + "description": "The number of days that logs are retained for this project.", + "properties": { + "value": { + "type": "integer", + "description": "The log retention period for this project, in days." + } + } } } } @@ -2316,6 +2358,20 @@ "description": "True if Ampersand branding has been removed for this project." } } + }, + "logRetention": { + "type": "object", + "required": [ + "value" + ], + "x-go-type-skip-optional-pointer": true, + "description": "The number of days that logs are retained for this project.", + "properties": { + "value": { + "type": "integer", + "description": "The log retention period for this project, in days." + } + } } } } @@ -54735,6 +54791,20 @@ "description": "True if Ampersand branding has been removed for this project." } } + }, + "logRetention": { + "type": "object", + "required": [ + "value" + ], + "x-go-type-skip-optional-pointer": true, + "description": "The number of days that logs are retained for this project.", + "properties": { + "value": { + "type": "integer", + "description": "The log retention period for this project, in days." + } + } } } } @@ -55127,6 +55197,20 @@ "description": "True if Ampersand branding has been removed for this project." } } + }, + "logRetention": { + "type": "object", + "required": [ + "value" + ], + "x-go-type-skip-optional-pointer": true, + "description": "The number of days that logs are retained for this project.", + "properties": { + "value": { + "type": "integer", + "description": "The log retention period for this project, in days." + } + } } } } @@ -66095,6 +66179,20 @@ "description": "True if Ampersand branding has been removed for this project." } } + }, + "logRetention": { + "type": "object", + "required": [ + "value" + ], + "x-go-type-skip-optional-pointer": true, + "description": "The number of days that logs are retained for this project.", + "properties": { + "value": { + "type": "integer", + "description": "The log retention period for this project, in days." + } + } } } } @@ -73365,6 +73463,20 @@ "description": "True if Ampersand branding has been removed for this project." } } + }, + "logRetention": { + "type": "object", + "required": [ + "value" + ], + "x-go-type-skip-optional-pointer": true, + "description": "The number of days that logs are retained for this project.", + "properties": { + "value": { + "type": "integer", + "description": "The log retention period for this project, in days." + } + } } } } From 23c5d5341571abfd9b729df19251b2e28c939c1d Mon Sep 17 00:00:00 2001 From: RajatPawar <18614743+RajatPawar@users.noreply.github.com> Date: Thu, 11 Jun 2026 12:51:11 -0700 Subject: [PATCH 2/2] refactor(api): name log retention entitlement key with unit Rename the entitlement key from logRetention to logRetentionDays so the unit is self-documenting; a bare value of 3 is otherwise ambiguous between days, hours, and months. Regenerated api/generated/api.json. Co-Authored-By: Claude Opus 4.8 (1M context) --- api/api.yaml | 2 +- api/generated/api.json | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/api/api.yaml b/api/api.yaml index b1ed62b..d263970 100644 --- a/api/api.yaml +++ b/api/api.yaml @@ -4951,7 +4951,7 @@ components: value: type: boolean description: True if Ampersand branding has been removed for this project. - logRetention: + logRetentionDays: type: object required: - value diff --git a/api/generated/api.json b/api/generated/api.json index 54368a4..ed91ef8 100644 --- a/api/generated/api.json +++ b/api/generated/api.json @@ -1213,7 +1213,7 @@ } } }, - "logRetention": { + "logRetentionDays": { "type": "object", "required": [ "value" @@ -1490,7 +1490,7 @@ } } }, - "logRetention": { + "logRetentionDays": { "type": "object", "required": [ "value" @@ -2068,7 +2068,7 @@ } } }, - "logRetention": { + "logRetentionDays": { "type": "object", "required": [ "value" @@ -2359,7 +2359,7 @@ } } }, - "logRetention": { + "logRetentionDays": { "type": "object", "required": [ "value" @@ -54792,7 +54792,7 @@ } } }, - "logRetention": { + "logRetentionDays": { "type": "object", "required": [ "value" @@ -55198,7 +55198,7 @@ } } }, - "logRetention": { + "logRetentionDays": { "type": "object", "required": [ "value" @@ -66180,7 +66180,7 @@ } } }, - "logRetention": { + "logRetentionDays": { "type": "object", "required": [ "value" @@ -73464,7 +73464,7 @@ } } }, - "logRetention": { + "logRetentionDays": { "type": "object", "required": [ "value"