diff --git a/.changeset/linear-node-entry-lifecycle.md b/.changeset/linear-node-entry-lifecycle.md
new file mode 100644
index 000000000..d5e8c127f
--- /dev/null
+++ b/.changeset/linear-node-entry-lifecycle.md
@@ -0,0 +1,6 @@
+---
+"@croco/preset-node": patch
+"@croco/problems-core": patch
+---
+
+Make Node entry startup and shutdown linearizable so concurrent lifecycle calls cannot leak server listeners.
diff --git a/docs/problem-code-registry.json b/docs/problem-code-registry.json
index fe97c0b8f..79e9bfa89 100644
--- a/docs/problem-code-registry.json
+++ b/docs/problem-code-registry.json
@@ -1,6 +1,6 @@
{
"version": "croco.problem-code-registry.v1",
- "problemCount": 597,
+ "problemCount": 600,
"problems": [
{
"code": "ACCESS_DENIED",
@@ -11492,6 +11492,96 @@
}
]
},
+ {
+ "code": "preset-node/invalid-close-timeout",
+ "category": "BadRequest",
+ "status": 400,
+ "title": "Bad Request",
+ "cookbookPath": "/reference/problem-recovery-cookbook/#preset-node-invalid-close-timeout",
+ "recovery": {
+ "cause": "The caller sent malformed input or unsupported request options.",
+ "userAction": "Correct the request input and retry after validation passes.",
+ "operatorAction": "Inspect validation details and request logs; do not retry unchanged input.",
+ "retryability": "not-retryable",
+ "redactionPolicy": "public",
+ "telemetry": {
+ "eventName": "croco.problem.info",
+ "severity": "info",
+ "attributes": ["problem.code", "problem.category", "problem.status"]
+ }
+ },
+ "lifecycle": {
+ "status": "active"
+ },
+ "sources": [
+ {
+ "file": "packages/preset-node/src/problems.ts",
+ "line": 6,
+ "column": 5,
+ "kind": "problem-constructor"
+ }
+ ]
+ },
+ {
+ "code": "preset-node/lifecycle-conflict",
+ "category": "Conflict",
+ "status": 409,
+ "title": "Conflict",
+ "cookbookPath": "/reference/problem-recovery-cookbook/#preset-node-lifecycle-conflict",
+ "recovery": {
+ "cause": "start() was called on a Node entry that is closing or already closed.",
+ "userAction": "Wait for closure to finish, then create a new entry to start another server.",
+ "operatorAction": "Inspect Node entry ownership and the ordering of start() and close() calls.",
+ "retryability": "not-retryable",
+ "redactionPolicy": "safe-message",
+ "telemetry": {
+ "eventName": "croco.problem.warning",
+ "severity": "warning",
+ "attributes": ["problem.code", "problem.category", "problem.status"]
+ }
+ },
+ "lifecycle": {
+ "status": "active"
+ },
+ "sources": [
+ {
+ "file": "packages/preset-node/src/problems.ts",
+ "line": 20,
+ "column": 5,
+ "kind": "problem-constructor"
+ }
+ ]
+ },
+ {
+ "code": "preset-node/lifecycle-io-failed",
+ "category": "InternalServerError",
+ "status": 500,
+ "title": "Internal Server Error",
+ "cookbookPath": "/reference/problem-recovery-cookbook/#preset-node-lifecycle-io-failed",
+ "recovery": {
+ "cause": "The Node server failed while starting or closing an entry.",
+ "userAction": "Retry only after the server or socket failure has been investigated.",
+ "operatorAction": "Inspect the preserved cause and the reported lifecycle operation.",
+ "retryability": "conditional",
+ "redactionPolicy": "operator-only",
+ "telemetry": {
+ "eventName": "croco.problem.error",
+ "severity": "error",
+ "attributes": ["problem.code", "problem.category", "problem.status"]
+ }
+ },
+ "lifecycle": {
+ "status": "active"
+ },
+ "sources": [
+ {
+ "file": "packages/preset-node/src/problems.ts",
+ "line": 34,
+ "column": 5,
+ "kind": "problem-constructor"
+ }
+ ]
+ },
{
"code": "problems-core/invalid-extensions",
"category": "BadRequest",
diff --git a/packages/docs/src/content/docs/api/framework-context/src/classes/RuntimeInspectorConfigurationProblem.md b/packages/docs/src/content/docs/api/framework-context/src/classes/RuntimeInspectorConfigurationProblem.md
new file mode 100644
index 000000000..36ae0b217
--- /dev/null
+++ b/packages/docs/src/content/docs/api/framework-context/src/classes/RuntimeInspectorConfigurationProblem.md
@@ -0,0 +1,310 @@
+---
+editUrl: false
+next: false
+prev: false
+title: "RuntimeInspectorConfigurationProblem"
+---
+
+Runtime inspector limits must preserve finite, bounded collection semantics.
+
+## Extends
+
+- [`Problem`](/api/problems-core/src/classes/problem/)
+
+## Constructors
+
+### Constructor
+
+> **new RuntimeInspectorConfigurationProblem**(`option`, `value`): `RuntimeInspectorConfigurationProblem`
+
+#### Parameters
+
+##### option
+
+[`RuntimeInspectorNumericOption`](/api/framework-context/src/type-aliases/runtimeinspectornumericoption/)
+
+##### value
+
+`number`
+
+#### Returns
+
+`RuntimeInspectorConfigurationProblem`
+
+#### Overrides
+
+`Problem.constructor`
+
+## Properties
+
+### category
+
+> `readonly` **category**: [`InternalServerError`](/api/problems-core/src/enumerations/problemcategory/#internalservererror) = `ProblemCategory.InternalServerError`
+
+#### Overrides
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`category`](/api/problems-core/src/classes/problem/#category)
+
+***
+
+### cause?
+
+> `readonly` `optional` **cause?**: `Error`
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`cause`](/api/problems-core/src/classes/problem/#cause)
+
+***
+
+### code
+
+> `readonly` **code**: `"framework-context/runtime-inspector-invalid-configuration"` = `"framework-context/runtime-inspector-invalid-configuration"`
+
+#### Overrides
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`code`](/api/problems-core/src/classes/problem/#code)
+
+***
+
+### detail?
+
+> `readonly` `optional` **detail?**: `string`
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`detail`](/api/problems-core/src/classes/problem/#detail)
+
+***
+
+### extensions?
+
+> `readonly` `optional` **extensions?**: [`ProblemExtensions`](/api/problems-core/src/type-aliases/problemextensions/)
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`extensions`](/api/problems-core/src/classes/problem/#extensions)
+
+***
+
+### instance?
+
+> `readonly` `optional` **instance?**: `string`
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`instance`](/api/problems-core/src/classes/problem/#instance)
+
+***
+
+### message
+
+> **message**: `string`
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`message`](/api/problems-core/src/classes/problem/#message)
+
+***
+
+### name
+
+> **name**: `string`
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`name`](/api/problems-core/src/classes/problem/#name)
+
+***
+
+### option
+
+> `readonly` **option**: [`RuntimeInspectorNumericOption`](/api/framework-context/src/type-aliases/runtimeinspectornumericoption/)
+
+***
+
+### stack?
+
+> `optional` **stack?**: `string`
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`stack`](/api/problems-core/src/classes/problem/#stack)
+
+***
+
+### type
+
+> `readonly` **type**: `string`
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`type`](/api/problems-core/src/classes/problem/#type)
+
+***
+
+### value
+
+> `readonly` **value**: `number`
+
+***
+
+### stackTraceLimit
+
+> `static` **stackTraceLimit**: `number`
+
+The `Error.stackTraceLimit` property specifies the number of stack frames
+collected by a stack trace (whether generated by `new Error().stack` or
+`Error.captureStackTrace(obj)`).
+
+The default value is `10` but may be set to any valid JavaScript number. Changes
+will affect any stack trace captured _after_ the value has been changed.
+
+If set to a non-number value, or set to a negative number, stack traces will
+not capture any frames.
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`stackTraceLimit`](/api/problems-core/src/classes/problem/#stacktracelimit)
+
+## Accessors
+
+### status
+
+#### Get Signature
+
+> **get** **status**(): `number`
+
+##### Returns
+
+`number`
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`status`](/api/problems-core/src/classes/problem/#status)
+
+***
+
+### title
+
+#### Get Signature
+
+> **get** **title**(): `string`
+
+##### Returns
+
+`string`
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`title`](/api/problems-core/src/classes/problem/#title)
+
+## Methods
+
+### toJSON()
+
+> **toJSON**(): [`ProblemDetails`](/api/problems-core/src/type-aliases/problemdetails/)
+
+#### Returns
+
+[`ProblemDetails`](/api/problems-core/src/type-aliases/problemdetails/)
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`toJSON`](/api/problems-core/src/classes/problem/#tojson)
+
+***
+
+### captureStackTrace()
+
+> `static` **captureStackTrace**(`targetObject`, `constructorOpt?`): `void`
+
+Creates a `.stack` property on `targetObject`, which when accessed returns
+a string representing the location in the code at which
+`Error.captureStackTrace()` was called.
+
+```js
+const myObject = {};
+Error.captureStackTrace(myObject);
+myObject.stack; // Similar to `new Error().stack`
+```
+
+The first line of the trace will be prefixed with
+`${myObject.name}: ${myObject.message}`.
+
+The optional `constructorOpt` argument accepts a function. If given, all frames
+above `constructorOpt`, including `constructorOpt`, will be omitted from the
+generated stack trace.
+
+The `constructorOpt` argument is useful for hiding implementation
+details of error generation from the user. For instance:
+
+```js
+function a() {
+ b();
+}
+
+function b() {
+ c();
+}
+
+function c() {
+ // Create an error without stack trace to avoid calculating the stack trace twice.
+ const { stackTraceLimit } = Error;
+ Error.stackTraceLimit = 0;
+ const error = new Error();
+ Error.stackTraceLimit = stackTraceLimit;
+
+ // Capture the stack trace above function b
+ Error.captureStackTrace(error, b); // Neither function c, nor b is included in the stack trace
+ throw error;
+}
+
+a();
+```
+
+#### Parameters
+
+##### targetObject
+
+`object`
+
+##### constructorOpt?
+
+`Function`
+
+#### Returns
+
+`void`
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`captureStackTrace`](/api/problems-core/src/classes/problem/#capturestacktrace)
+
+***
+
+### prepareStackTrace()
+
+> `static` **prepareStackTrace**(`err`, `stackTraces`): `any`
+
+#### Parameters
+
+##### err
+
+`Error`
+
+##### stackTraces
+
+`CallSite`[]
+
+#### Returns
+
+`any`
+
+#### See
+
+https://v8.dev/docs/stack-trace-api#customizing-stack-traces
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`prepareStackTrace`](/api/problems-core/src/classes/problem/#preparestacktrace)
diff --git a/packages/docs/src/content/docs/api/framework-context/src/type-aliases/RuntimeInspectorNumericOption.md b/packages/docs/src/content/docs/api/framework-context/src/type-aliases/RuntimeInspectorNumericOption.md
new file mode 100644
index 000000000..68177ba7e
--- /dev/null
+++ b/packages/docs/src/content/docs/api/framework-context/src/type-aliases/RuntimeInspectorNumericOption.md
@@ -0,0 +1,8 @@
+---
+editUrl: false
+next: false
+prev: false
+title: "RuntimeInspectorNumericOption"
+---
+
+> **RuntimeInspectorNumericOption** = `"maxRequests"` \| `"maxEventsPerRequest"` \| `"maxStringLength"`
diff --git a/packages/docs/src/content/docs/api/framework-context/src/type-aliases/RuntimeInspectorOptions.md b/packages/docs/src/content/docs/api/framework-context/src/type-aliases/RuntimeInspectorOptions.md
index df3fe3eb1..e31fc33c7 100644
--- a/packages/docs/src/content/docs/api/framework-context/src/type-aliases/RuntimeInspectorOptions.md
+++ b/packages/docs/src/content/docs/api/framework-context/src/type-aliases/RuntimeInspectorOptions.md
@@ -13,18 +13,24 @@ title: "RuntimeInspectorOptions"
> `readonly` `optional` **maxEventsPerRequest?**: `number`
+Positive safe integer. Defaults to 200.
+
***
### maxRequests?
> `readonly` `optional` **maxRequests?**: `number`
+Positive safe integer. Defaults to 50.
+
***
### maxStringLength?
> `readonly` `optional` **maxStringLength?**: `number`
+Positive safe integer. Defaults to 500.
+
***
### sensitiveKeyPattern?
diff --git a/packages/docs/src/content/docs/api/integrations-posthog/src/variables/POSTHOG_CONFIG_TOKEN.md b/packages/docs/src/content/docs/api/integrations-posthog/src/variables/POSTHOG_CONFIG_TOKEN.md
index b7b7f76ed..856bf174c 100644
--- a/packages/docs/src/content/docs/api/integrations-posthog/src/variables/POSTHOG_CONFIG_TOKEN.md
+++ b/packages/docs/src/content/docs/api/integrations-posthog/src/variables/POSTHOG_CONFIG_TOKEN.md
@@ -5,6 +5,6 @@ prev: false
title: "POSTHOG_CONFIG_TOKEN"
---
-> `const` **POSTHOG_CONFIG_TOKEN**: [`Token`](/api/framework-context/src/classes/token/)\<`Readonly`\<[`PostHogConfig`](/api/integrations-posthog/src/interfaces/posthogconfig/)\>\>
+> `const` **POSTHOG\_CONFIG\_TOKEN**: [`Token`](/api/framework-context/src/classes/token/)\<`Readonly`\<[`PostHogConfig`](/api/integrations-posthog/src/interfaces/posthogconfig/)\>\>
PostHog 설정을 Croco DI에 등록하고 조회할 때 사용하는 토큰입니다.
diff --git a/packages/docs/src/content/docs/api/preset-node/src/classes/NodeEntryCloseTimeoutProblem.md b/packages/docs/src/content/docs/api/preset-node/src/classes/NodeEntryCloseTimeoutProblem.md
new file mode 100644
index 000000000..53c131bca
--- /dev/null
+++ b/packages/docs/src/content/docs/api/preset-node/src/classes/NodeEntryCloseTimeoutProblem.md
@@ -0,0 +1,294 @@
+---
+editUrl: false
+next: false
+prev: false
+title: "NodeEntryCloseTimeoutProblem"
+---
+
+Reports an invalid timeout passed to NodeEntry.close().
+
+## Extends
+
+- [`Problem`](/api/problems-core/src/classes/problem/)
+
+## Constructors
+
+### Constructor
+
+> **new NodeEntryCloseTimeoutProblem**(`timeoutMs`): `NodeEntryCloseTimeoutProblem`
+
+#### Parameters
+
+##### timeoutMs
+
+`number`
+
+#### Returns
+
+`NodeEntryCloseTimeoutProblem`
+
+#### Overrides
+
+`Problem.constructor`
+
+## Properties
+
+### category
+
+> `readonly` **category**: [`ProblemCategory`](/api/problems-core/src/enumerations/problemcategory/)
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`category`](/api/problems-core/src/classes/problem/#category)
+
+***
+
+### cause?
+
+> `readonly` `optional` **cause?**: `Error`
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`cause`](/api/problems-core/src/classes/problem/#cause)
+
+***
+
+### code
+
+> `readonly` **code**: `string`
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`code`](/api/problems-core/src/classes/problem/#code)
+
+***
+
+### detail?
+
+> `readonly` `optional` **detail?**: `string`
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`detail`](/api/problems-core/src/classes/problem/#detail)
+
+***
+
+### extensions?
+
+> `readonly` `optional` **extensions?**: [`ProblemExtensions`](/api/problems-core/src/type-aliases/problemextensions/)
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`extensions`](/api/problems-core/src/classes/problem/#extensions)
+
+***
+
+### instance?
+
+> `readonly` `optional` **instance?**: `string`
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`instance`](/api/problems-core/src/classes/problem/#instance)
+
+***
+
+### message
+
+> **message**: `string`
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`message`](/api/problems-core/src/classes/problem/#message)
+
+***
+
+### name
+
+> **name**: `string`
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`name`](/api/problems-core/src/classes/problem/#name)
+
+***
+
+### stack?
+
+> `optional` **stack?**: `string`
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`stack`](/api/problems-core/src/classes/problem/#stack)
+
+***
+
+### type
+
+> `readonly` **type**: `string`
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`type`](/api/problems-core/src/classes/problem/#type)
+
+***
+
+### stackTraceLimit
+
+> `static` **stackTraceLimit**: `number`
+
+The `Error.stackTraceLimit` property specifies the number of stack frames
+collected by a stack trace (whether generated by `new Error().stack` or
+`Error.captureStackTrace(obj)`).
+
+The default value is `10` but may be set to any valid JavaScript number. Changes
+will affect any stack trace captured _after_ the value has been changed.
+
+If set to a non-number value, or set to a negative number, stack traces will
+not capture any frames.
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`stackTraceLimit`](/api/problems-core/src/classes/problem/#stacktracelimit)
+
+## Accessors
+
+### status
+
+#### Get Signature
+
+> **get** **status**(): `number`
+
+##### Returns
+
+`number`
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`status`](/api/problems-core/src/classes/problem/#status)
+
+***
+
+### title
+
+#### Get Signature
+
+> **get** **title**(): `string`
+
+##### Returns
+
+`string`
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`title`](/api/problems-core/src/classes/problem/#title)
+
+## Methods
+
+### toJSON()
+
+> **toJSON**(): [`ProblemDetails`](/api/problems-core/src/type-aliases/problemdetails/)
+
+#### Returns
+
+[`ProblemDetails`](/api/problems-core/src/type-aliases/problemdetails/)
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`toJSON`](/api/problems-core/src/classes/problem/#tojson)
+
+***
+
+### captureStackTrace()
+
+> `static` **captureStackTrace**(`targetObject`, `constructorOpt?`): `void`
+
+Creates a `.stack` property on `targetObject`, which when accessed returns
+a string representing the location in the code at which
+`Error.captureStackTrace()` was called.
+
+```js
+const myObject = {};
+Error.captureStackTrace(myObject);
+myObject.stack; // Similar to `new Error().stack`
+```
+
+The first line of the trace will be prefixed with
+`${myObject.name}: ${myObject.message}`.
+
+The optional `constructorOpt` argument accepts a function. If given, all frames
+above `constructorOpt`, including `constructorOpt`, will be omitted from the
+generated stack trace.
+
+The `constructorOpt` argument is useful for hiding implementation
+details of error generation from the user. For instance:
+
+```js
+function a() {
+ b();
+}
+
+function b() {
+ c();
+}
+
+function c() {
+ // Create an error without stack trace to avoid calculating the stack trace twice.
+ const { stackTraceLimit } = Error;
+ Error.stackTraceLimit = 0;
+ const error = new Error();
+ Error.stackTraceLimit = stackTraceLimit;
+
+ // Capture the stack trace above function b
+ Error.captureStackTrace(error, b); // Neither function c, nor b is included in the stack trace
+ throw error;
+}
+
+a();
+```
+
+#### Parameters
+
+##### targetObject
+
+`object`
+
+##### constructorOpt?
+
+`Function`
+
+#### Returns
+
+`void`
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`captureStackTrace`](/api/problems-core/src/classes/problem/#capturestacktrace)
+
+***
+
+### prepareStackTrace()
+
+> `static` **prepareStackTrace**(`err`, `stackTraces`): `any`
+
+#### Parameters
+
+##### err
+
+`Error`
+
+##### stackTraces
+
+`CallSite`[]
+
+#### Returns
+
+`any`
+
+#### See
+
+https://v8.dev/docs/stack-trace-api#customizing-stack-traces
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`prepareStackTrace`](/api/problems-core/src/classes/problem/#preparestacktrace)
diff --git a/packages/docs/src/content/docs/api/preset-node/src/classes/NodeEntryLifecycleIoProblem.md b/packages/docs/src/content/docs/api/preset-node/src/classes/NodeEntryLifecycleIoProblem.md
new file mode 100644
index 000000000..1f453e0eb
--- /dev/null
+++ b/packages/docs/src/content/docs/api/preset-node/src/classes/NodeEntryLifecycleIoProblem.md
@@ -0,0 +1,298 @@
+---
+editUrl: false
+next: false
+prev: false
+title: "NodeEntryLifecycleIoProblem"
+---
+
+Reports a Node server failure while starting or closing an entry.
+
+## Extends
+
+- [`Problem`](/api/problems-core/src/classes/problem/)
+
+## Constructors
+
+### Constructor
+
+> **new NodeEntryLifecycleIoProblem**(`operation`, `cause`): `NodeEntryLifecycleIoProblem`
+
+#### Parameters
+
+##### operation
+
+`"start"` \| `"close"`
+
+##### cause
+
+`Error`
+
+#### Returns
+
+`NodeEntryLifecycleIoProblem`
+
+#### Overrides
+
+`Problem.constructor`
+
+## Properties
+
+### category
+
+> `readonly` **category**: [`ProblemCategory`](/api/problems-core/src/enumerations/problemcategory/)
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`category`](/api/problems-core/src/classes/problem/#category)
+
+***
+
+### cause?
+
+> `readonly` `optional` **cause?**: `Error`
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`cause`](/api/problems-core/src/classes/problem/#cause)
+
+***
+
+### code
+
+> `readonly` **code**: `string`
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`code`](/api/problems-core/src/classes/problem/#code)
+
+***
+
+### detail?
+
+> `readonly` `optional` **detail?**: `string`
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`detail`](/api/problems-core/src/classes/problem/#detail)
+
+***
+
+### extensions?
+
+> `readonly` `optional` **extensions?**: [`ProblemExtensions`](/api/problems-core/src/type-aliases/problemextensions/)
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`extensions`](/api/problems-core/src/classes/problem/#extensions)
+
+***
+
+### instance?
+
+> `readonly` `optional` **instance?**: `string`
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`instance`](/api/problems-core/src/classes/problem/#instance)
+
+***
+
+### message
+
+> **message**: `string`
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`message`](/api/problems-core/src/classes/problem/#message)
+
+***
+
+### name
+
+> **name**: `string`
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`name`](/api/problems-core/src/classes/problem/#name)
+
+***
+
+### stack?
+
+> `optional` **stack?**: `string`
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`stack`](/api/problems-core/src/classes/problem/#stack)
+
+***
+
+### type
+
+> `readonly` **type**: `string`
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`type`](/api/problems-core/src/classes/problem/#type)
+
+***
+
+### stackTraceLimit
+
+> `static` **stackTraceLimit**: `number`
+
+The `Error.stackTraceLimit` property specifies the number of stack frames
+collected by a stack trace (whether generated by `new Error().stack` or
+`Error.captureStackTrace(obj)`).
+
+The default value is `10` but may be set to any valid JavaScript number. Changes
+will affect any stack trace captured _after_ the value has been changed.
+
+If set to a non-number value, or set to a negative number, stack traces will
+not capture any frames.
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`stackTraceLimit`](/api/problems-core/src/classes/problem/#stacktracelimit)
+
+## Accessors
+
+### status
+
+#### Get Signature
+
+> **get** **status**(): `number`
+
+##### Returns
+
+`number`
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`status`](/api/problems-core/src/classes/problem/#status)
+
+***
+
+### title
+
+#### Get Signature
+
+> **get** **title**(): `string`
+
+##### Returns
+
+`string`
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`title`](/api/problems-core/src/classes/problem/#title)
+
+## Methods
+
+### toJSON()
+
+> **toJSON**(): [`ProblemDetails`](/api/problems-core/src/type-aliases/problemdetails/)
+
+#### Returns
+
+[`ProblemDetails`](/api/problems-core/src/type-aliases/problemdetails/)
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`toJSON`](/api/problems-core/src/classes/problem/#tojson)
+
+***
+
+### captureStackTrace()
+
+> `static` **captureStackTrace**(`targetObject`, `constructorOpt?`): `void`
+
+Creates a `.stack` property on `targetObject`, which when accessed returns
+a string representing the location in the code at which
+`Error.captureStackTrace()` was called.
+
+```js
+const myObject = {};
+Error.captureStackTrace(myObject);
+myObject.stack; // Similar to `new Error().stack`
+```
+
+The first line of the trace will be prefixed with
+`${myObject.name}: ${myObject.message}`.
+
+The optional `constructorOpt` argument accepts a function. If given, all frames
+above `constructorOpt`, including `constructorOpt`, will be omitted from the
+generated stack trace.
+
+The `constructorOpt` argument is useful for hiding implementation
+details of error generation from the user. For instance:
+
+```js
+function a() {
+ b();
+}
+
+function b() {
+ c();
+}
+
+function c() {
+ // Create an error without stack trace to avoid calculating the stack trace twice.
+ const { stackTraceLimit } = Error;
+ Error.stackTraceLimit = 0;
+ const error = new Error();
+ Error.stackTraceLimit = stackTraceLimit;
+
+ // Capture the stack trace above function b
+ Error.captureStackTrace(error, b); // Neither function c, nor b is included in the stack trace
+ throw error;
+}
+
+a();
+```
+
+#### Parameters
+
+##### targetObject
+
+`object`
+
+##### constructorOpt?
+
+`Function`
+
+#### Returns
+
+`void`
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`captureStackTrace`](/api/problems-core/src/classes/problem/#capturestacktrace)
+
+***
+
+### prepareStackTrace()
+
+> `static` **prepareStackTrace**(`err`, `stackTraces`): `any`
+
+#### Parameters
+
+##### err
+
+`Error`
+
+##### stackTraces
+
+`CallSite`[]
+
+#### Returns
+
+`any`
+
+#### See
+
+https://v8.dev/docs/stack-trace-api#customizing-stack-traces
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`prepareStackTrace`](/api/problems-core/src/classes/problem/#preparestacktrace)
diff --git a/packages/docs/src/content/docs/api/preset-node/src/classes/NodeEntryLifecycleProblem.md b/packages/docs/src/content/docs/api/preset-node/src/classes/NodeEntryLifecycleProblem.md
new file mode 100644
index 000000000..4146c0fdf
--- /dev/null
+++ b/packages/docs/src/content/docs/api/preset-node/src/classes/NodeEntryLifecycleProblem.md
@@ -0,0 +1,298 @@
+---
+editUrl: false
+next: false
+prev: false
+title: "NodeEntryLifecycleProblem"
+---
+
+Reports start() on a Node entry that is already closing or closed.
+
+## Extends
+
+- [`Problem`](/api/problems-core/src/classes/problem/)
+
+## Constructors
+
+### Constructor
+
+> **new NodeEntryLifecycleProblem**(`operation`, `state`): `NodeEntryLifecycleProblem`
+
+#### Parameters
+
+##### operation
+
+`"start"`
+
+##### state
+
+`"closing"` \| `"closed"`
+
+#### Returns
+
+`NodeEntryLifecycleProblem`
+
+#### Overrides
+
+`Problem.constructor`
+
+## Properties
+
+### category
+
+> `readonly` **category**: [`ProblemCategory`](/api/problems-core/src/enumerations/problemcategory/)
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`category`](/api/problems-core/src/classes/problem/#category)
+
+***
+
+### cause?
+
+> `readonly` `optional` **cause?**: `Error`
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`cause`](/api/problems-core/src/classes/problem/#cause)
+
+***
+
+### code
+
+> `readonly` **code**: `string`
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`code`](/api/problems-core/src/classes/problem/#code)
+
+***
+
+### detail?
+
+> `readonly` `optional` **detail?**: `string`
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`detail`](/api/problems-core/src/classes/problem/#detail)
+
+***
+
+### extensions?
+
+> `readonly` `optional` **extensions?**: [`ProblemExtensions`](/api/problems-core/src/type-aliases/problemextensions/)
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`extensions`](/api/problems-core/src/classes/problem/#extensions)
+
+***
+
+### instance?
+
+> `readonly` `optional` **instance?**: `string`
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`instance`](/api/problems-core/src/classes/problem/#instance)
+
+***
+
+### message
+
+> **message**: `string`
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`message`](/api/problems-core/src/classes/problem/#message)
+
+***
+
+### name
+
+> **name**: `string`
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`name`](/api/problems-core/src/classes/problem/#name)
+
+***
+
+### stack?
+
+> `optional` **stack?**: `string`
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`stack`](/api/problems-core/src/classes/problem/#stack)
+
+***
+
+### type
+
+> `readonly` **type**: `string`
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`type`](/api/problems-core/src/classes/problem/#type)
+
+***
+
+### stackTraceLimit
+
+> `static` **stackTraceLimit**: `number`
+
+The `Error.stackTraceLimit` property specifies the number of stack frames
+collected by a stack trace (whether generated by `new Error().stack` or
+`Error.captureStackTrace(obj)`).
+
+The default value is `10` but may be set to any valid JavaScript number. Changes
+will affect any stack trace captured _after_ the value has been changed.
+
+If set to a non-number value, or set to a negative number, stack traces will
+not capture any frames.
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`stackTraceLimit`](/api/problems-core/src/classes/problem/#stacktracelimit)
+
+## Accessors
+
+### status
+
+#### Get Signature
+
+> **get** **status**(): `number`
+
+##### Returns
+
+`number`
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`status`](/api/problems-core/src/classes/problem/#status)
+
+***
+
+### title
+
+#### Get Signature
+
+> **get** **title**(): `string`
+
+##### Returns
+
+`string`
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`title`](/api/problems-core/src/classes/problem/#title)
+
+## Methods
+
+### toJSON()
+
+> **toJSON**(): [`ProblemDetails`](/api/problems-core/src/type-aliases/problemdetails/)
+
+#### Returns
+
+[`ProblemDetails`](/api/problems-core/src/type-aliases/problemdetails/)
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`toJSON`](/api/problems-core/src/classes/problem/#tojson)
+
+***
+
+### captureStackTrace()
+
+> `static` **captureStackTrace**(`targetObject`, `constructorOpt?`): `void`
+
+Creates a `.stack` property on `targetObject`, which when accessed returns
+a string representing the location in the code at which
+`Error.captureStackTrace()` was called.
+
+```js
+const myObject = {};
+Error.captureStackTrace(myObject);
+myObject.stack; // Similar to `new Error().stack`
+```
+
+The first line of the trace will be prefixed with
+`${myObject.name}: ${myObject.message}`.
+
+The optional `constructorOpt` argument accepts a function. If given, all frames
+above `constructorOpt`, including `constructorOpt`, will be omitted from the
+generated stack trace.
+
+The `constructorOpt` argument is useful for hiding implementation
+details of error generation from the user. For instance:
+
+```js
+function a() {
+ b();
+}
+
+function b() {
+ c();
+}
+
+function c() {
+ // Create an error without stack trace to avoid calculating the stack trace twice.
+ const { stackTraceLimit } = Error;
+ Error.stackTraceLimit = 0;
+ const error = new Error();
+ Error.stackTraceLimit = stackTraceLimit;
+
+ // Capture the stack trace above function b
+ Error.captureStackTrace(error, b); // Neither function c, nor b is included in the stack trace
+ throw error;
+}
+
+a();
+```
+
+#### Parameters
+
+##### targetObject
+
+`object`
+
+##### constructorOpt?
+
+`Function`
+
+#### Returns
+
+`void`
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`captureStackTrace`](/api/problems-core/src/classes/problem/#capturestacktrace)
+
+***
+
+### prepareStackTrace()
+
+> `static` **prepareStackTrace**(`err`, `stackTraces`): `any`
+
+#### Parameters
+
+##### err
+
+`Error`
+
+##### stackTraces
+
+`CallSite`[]
+
+#### Returns
+
+`any`
+
+#### See
+
+https://v8.dev/docs/stack-trace-api#customizing-stack-traces
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`prepareStackTrace`](/api/problems-core/src/classes/problem/#preparestacktrace)
diff --git a/packages/docs/src/content/docs/api/preset-node/src/type-aliases/NodeEntry.md b/packages/docs/src/content/docs/api/preset-node/src/type-aliases/NodeEntry.md
index 8bd2fe3db..36ecec9e3 100644
--- a/packages/docs/src/content/docs/api/preset-node/src/type-aliases/NodeEntry.md
+++ b/packages/docs/src/content/docs/api/preset-node/src/type-aliases/NodeEntry.md
@@ -11,7 +11,13 @@ title: "NodeEntry"
### close
-> `readonly` **close**: () => `Promise`\<`void`\>
+> `readonly` **close**: (`timeoutMs?`) => `Promise`\<`void`\>
+
+#### Parameters
+
+##### timeoutMs?
+
+`number`
#### Returns
diff --git a/packages/docs/src/content/docs/api/problems-core/src/classes/Problem.md b/packages/docs/src/content/docs/api/problems-core/src/classes/Problem.md
index 2b0846958..3fd990524 100644
--- a/packages/docs/src/content/docs/api/problems-core/src/classes/Problem.md
+++ b/packages/docs/src/content/docs/api/problems-core/src/classes/Problem.md
@@ -341,6 +341,9 @@ RFC 7807 Problem Details를 표현하는 기본 추상 에러 클래스입니다
- [`ConflictingPaginationProblem`](/api/pagination-core/src/classes/conflictingpaginationproblem/)
- [`InvalidCursorProblem`](/api/pagination-core/src/classes/invalidcursorproblem/)
- [`InvalidPaginationDirectionProblem`](/api/pagination-core/src/classes/invalidpaginationdirectionproblem/)
+- [`NodeEntryCloseTimeoutProblem`](/api/preset-node/src/classes/nodeentryclosetimeoutproblem/)
+- [`NodeEntryLifecycleIoProblem`](/api/preset-node/src/classes/nodeentrylifecycleioproblem/)
+- [`NodeEntryLifecycleProblem`](/api/preset-node/src/classes/nodeentrylifecycleproblem/)
- [`ProblemRegistryValidationProblem`](/api/problems-core/src/classes/problemregistryvalidationproblem/)
- [`ContractGraphDiagnosticError`](/api/protocols-core/src/classes/contractgraphdiagnosticerror/)
- [`DesktopDefinitionProblem`](/api/protocols-desktop/src/classes/desktopdefinitionproblem/)
@@ -477,7 +480,7 @@ RFC 7807 Problem Details를 표현하는 기본 추상 에러 클래스입니다
> `readonly` **category**: [`ProblemCategory`](/api/problems-core/src/enumerations/problemcategory/)
----
+***
### cause?
@@ -487,31 +490,31 @@ RFC 7807 Problem Details를 표현하는 기본 추상 에러 클래스입니다
`Error.cause`
----
+***
### code
> `readonly` **code**: `string`
----
+***
### detail?
> `readonly` `optional` **detail?**: `string`
----
+***
### extensions?
> `readonly` `optional` **extensions?**: [`ProblemExtensions`](/api/problems-core/src/type-aliases/problemextensions/)
----
+***
### instance?
> `readonly` `optional` **instance?**: `string`
----
+***
### message
@@ -521,7 +524,7 @@ RFC 7807 Problem Details를 표현하는 기본 추상 에러 클래스입니다
`Error.message`
----
+***
### name
@@ -531,7 +534,7 @@ RFC 7807 Problem Details를 표현하는 기본 추상 에러 클래스입니다
`Error.name`
----
+***
### stack?
@@ -541,13 +544,13 @@ RFC 7807 Problem Details를 표현하는 기본 추상 에러 클래스입니다
`Error.stack`
----
+***
### type
> `readonly` **type**: `string`
----
+***
### stackTraceLimit
@@ -579,7 +582,7 @@ not capture any frames.
`number`
----
+***
### title
@@ -601,7 +604,7 @@ not capture any frames.
[`ProblemDetails`](/api/problems-core/src/type-aliases/problemdetails/)
----
+***
### captureStackTrace()
@@ -614,7 +617,7 @@ a string representing the location in the code at which
```js
const myObject = {};
Error.captureStackTrace(myObject);
-myObject.stack; // Similar to `new Error().stack`
+myObject.stack; // Similar to `new Error().stack`
```
The first line of the trace will be prefixed with
@@ -669,7 +672,7 @@ a();
`Error.captureStackTrace`
----
+***
### prepareStackTrace()
diff --git a/packages/docs/src/content/docs/api/problems-core/src/variables/CROCO_PROBLEM_CODE_REGISTRY.md b/packages/docs/src/content/docs/api/problems-core/src/variables/CROCO_PROBLEM_CODE_REGISTRY.md
index bfa6f39dc..bd833803b 100644
--- a/packages/docs/src/content/docs/api/problems-core/src/variables/CROCO_PROBLEM_CODE_REGISTRY.md
+++ b/packages/docs/src/content/docs/api/problems-core/src/variables/CROCO_PROBLEM_CODE_REGISTRY.md
@@ -5,17 +5,17 @@ prev: false
title: "CROCO_PROBLEM_CODE_REGISTRY"
---
-> `const` **CROCO_PROBLEM_CODE_REGISTRY**: `object`
+> `const` **CROCO\_PROBLEM\_CODE\_REGISTRY**: `object`
## Type Declaration
### problemCount
-> `readonly` **problemCount**: `597` = `597`
+> `readonly` **problemCount**: `600` = `600`
### problems
-> `readonly` **problems**: readonly \[\{ `category`: `"Forbidden"`; `code`: `"ACCESS_DENIED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#access-denied"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The authenticated caller is not allowed to perform the requested action."`; `operatorAction`: `"Review policy, role, tenant, entitlement, and impersonation context."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Request the required permission or choose an allowed action."`; \}; `sources`: readonly \[\{ `column`: `15`; `file`: `"packages/transports-http/src/libs/PipelineRunner.ts"`; `kind`: `"problem-factory"`; `line`: `232`; \}\]; `status`: `403`; `title`: `"Forbidden"`; \}, \{ `category`: `"Forbidden"`; `code`: `"access-core/forbidden"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#access-core-forbidden"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The authenticated caller is not allowed to perform the requested action."`; `operatorAction`: `"Review policy, role, tenant, entitlement, and impersonation context."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Request the required permission or choose an allowed action."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/access-core/src/libs/guards/AccessGuard.ts"`; `kind`: `"problem-constructor"`; `line`: `17`; \}\]; `status`: `403`; `title`: `"Forbidden"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"ADMIN_LIFECYCLE_DEMO_INVARIANT"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#admin-lifecycle-demo-invariant"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/create-croco-app/templates/admin-console/apps/console-web/src/LifecycleAutomationDemo.tsx"`; `kind`: `"problem-constructor"`; `line`: `66`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"NotFound"`; `code`: `"admin-console/user-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#admin-console-user-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `79`; `file`: `"packages/create-croco-app/templates/admin-console/apps/api-server/src/controllers/adminSchemas.ts"`; `kind`: `"problem-metadata"`; `line`: `20`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"Forbidden"`; `code`: `"admin-core/credit-operations-permission-denied"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#admin-core-credit-operations-permission-denied"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The authenticated caller is not allowed to perform the requested action."`; `operatorAction`: `"Review policy, role, tenant, entitlement, and impersonation context."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Request the required permission or choose an allowed action."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/create-croco-app/templates/admin-console/apps/api-server/src/controllers/adminSchemas.ts"`; `kind`: `"problem-metadata"`; `line`: `40`; \}\]; `status`: `403`; `title`: `"Forbidden"`; \}, \{ `category`: `"ValidationError"`; `code`: `"admin-core/credit-operations-validation-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#admin-core-credit-operations-validation-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/admin-core/src/libs/CreditOperations.ts"`; `kind`: `"problem-constructor"`; `line`: `286`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"admin-core/resource-validation-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#admin-core-resource-validation-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/admin-core/src/libs/AdminResource.ts"`; `kind`: `"problem-constructor"`; `line`: `79`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"admin-core/webhook-action-validation-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#admin-core-webhook-action-validation-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/admin-core/src/libs/WebhookOperations.ts"`; `kind`: `"problem-constructor"`; `line`: `187`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"admin-generated/contract-diagnostics"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#admin-generated-contract-diagnostics"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/admin-generated/src/libs/generate.ts"`; `kind`: `"problem-constructor"`; `line`: `55`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"NotFound"`; `code`: `"ai-saas/model-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#ai-saas-model-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/create-croco-app/templates/ai-saas/apps/api-server/src/aiProblems.ts"`; `kind`: `"problem-class"`; `line`: `31`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"ValidationError"`; `code`: `"ai-saas/model-required"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#ai-saas-model-required"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/create-croco-app/templates/ai-saas/apps/api-server/src/aiProblems.ts"`; `kind`: `"problem-class"`; `line`: `22`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"ai-saas/provider-unavailable"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#ai-saas-provider-unavailable"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/create-croco-app/templates/ai-saas/apps/api-server/src/aiProblems.ts"`; `kind`: `"problem-class"`; `line`: `62`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"TooManyRequests"`; `code`: `"ai-saas/quota-exceeded"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#ai-saas-quota-exceeded"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller exceeded a rate, quota, or concurrency limit."`; `operatorAction`: `"Check limiter state, quota configuration, and abuse signals."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Wait for the retry window or reduce request volume."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/create-croco-app/templates/ai-saas/apps/api-server/src/aiProblems.ts"`; `kind`: `"problem-class"`; `line`: `40`; \}\]; `status`: `429`; `title`: `"Too Many Requests"`; \}, \{ `category`: `"TooManyRequests"`; `code`: `"ai-saas/rate-limit-exceeded"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#ai-saas-rate-limit-exceeded"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller exceeded a rate, quota, or concurrency limit."`; `operatorAction`: `"Check limiter state, quota configuration, and abuse signals."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Wait for the retry window or reduce request volume."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/create-croco-app/templates/ai-saas/apps/api-server/src/aiProblems.ts"`; `kind`: `"problem-class"`; `line`: `53`; \}\]; `status`: `429`; `title`: `"Too Many Requests"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"ai-saas/smoke-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#ai-saas-smoke-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/create-croco-app/templates/ai-saas/apps/api-server/src/aiProblems.ts"`; `kind`: `"problem-class"`; `line`: `75`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"NotFound"`; `code`: `"ai-saas/tenant-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#ai-saas-tenant-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/create-croco-app/templates/ai-saas/apps/api-server/src/aiProblems.ts"`; `kind`: `"problem-class"`; `line`: `13`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"ValidationError"`; `code`: `"ai-saas/tenant-required"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#ai-saas-tenant-required"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/create-croco-app/templates/ai-saas/apps/api-server/src/aiProblems.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"ALREADY_MEMBER"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#already-member"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/membership-core/src/libs/problems/MembershipProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `18`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"analytics-posthog/capture-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#analytics-posthog-capture-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/analytics-posthog/src/libs/problems/PostHogAnalyticsProblems.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"analytics-posthog/flush-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#analytics-posthog-flush-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/analytics-posthog/src/libs/problems/PostHogAnalyticsProblems.ts"`; `kind`: `"problem-class"`; `line`: `19`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"analytics-posthog/readiness-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#analytics-posthog-readiness-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/analytics-posthog/src/libs/problems/PostHogAnalyticsProblems.ts"`; `kind`: `"problem-class"`; `line`: `33`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Unauthorized"`; `code`: `"API_KEY_EXPIRED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#api-key-expired"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request did not include valid authentication credentials."`; `operatorAction`: `"Check authentication configuration, token issuer, and clock skew."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Sign in again or provide a valid credential."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/auth-core/src/libs/problems/AuthProblems.ts"`; `kind`: `"problem-class"`; `line`: `48`; \}\]; `status`: `401`; `title`: `"Unauthorized"`; \}, \{ `category`: `"NotFound"`; `code`: `"API_KEY_NOT_FOUND"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#api-key-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/auth-core/src/libs/apikey/problems/ApiKeyNotFoundProblem.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"Unauthorized"`; `code`: `"API_KEY_REVOKED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#api-key-revoked"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request did not include valid authentication credentials."`; `operatorAction`: `"Check authentication configuration, token issuer, and clock skew."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Sign in again or provide a valid credential."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/auth-core/src/libs/problems/AuthProblems.ts"`; `kind`: `"problem-class"`; `line`: `56`; \}\]; `status`: `401`; `title`: `"Unauthorized"`; \}, \{ `category`: `"ValidationError"`; `code`: `"architecture-policy/manifest-json-parse"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#architecture-policy-manifest-json-parse"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/architecture-policy/src/index.ts"`; `kind`: `"problem-constructor"`; `line`: `19`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"architecture-policy/manifest-schema-version"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#architecture-policy-manifest-schema-version"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/architecture-policy/src/index.ts"`; `kind`: `"problem-constructor"`; `line`: `30`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"architecture-policy/manifest-shape"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#architecture-policy-manifest-shape"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/architecture-policy/src/index.ts"`; `kind`: `"problem-constructor"`; `line`: `9`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"architecture-policy/package-json-parse"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#architecture-policy-package-json-parse"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/architecture-policy/src/index.ts"`; `kind`: `"problem-constructor"`; `line`: `46`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"audit-core/auditable-decorator-misuse"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#audit-core-auditable-decorator-misuse"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/audit-core/src/libs/problems/AuditableDecoratorProblem.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"audit/insert-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#audit-insert-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `13`; `file`: `"packages/audit-drizzle/src/libs/DrizzleAuditLogRepository.ts"`; `kind`: `"problem-factory"`; `line`: `137`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"auth-better-auth/authentication-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#auth-better-auth-authentication-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/auth-better-auth/src/libs/problems/BetterAuthAuthenticationProblem.ts"`; `kind`: `"problem-class"`; `line`: `8`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"auth-better-auth/invalid-session-payload"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#auth-better-auth-invalid-session-payload"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/auth-better-auth/src/libs/problems/BetterAuthInvalidSessionProblem.ts"`; `kind`: `"problem-class"`; `line`: `7`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"auth-better-auth/invalid-webhook-payload"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#auth-better-auth-invalid-webhook-payload"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/auth-better-auth/src/libs/problems/WebhookProblems.ts"`; `kind`: `"problem-class"`; `line`: `23`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"Unauthorized"`; `code`: `"auth-better-auth/invalid-webhook-signature"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#auth-better-auth-invalid-webhook-signature"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request did not include valid authentication credentials."`; `operatorAction`: `"Check authentication configuration, token issuer, and clock skew."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Sign in again or provide a valid credential."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/auth-better-auth/src/libs/problems/WebhookProblems.ts"`; `kind`: `"problem-class"`; `line`: `7`; \}\]; `status`: `401`; `title`: `"Unauthorized"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"auth-better-auth/not-initialized"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#auth-better-auth-not-initialized"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/auth-better-auth/src/libs/problems/AuthProblems.ts"`; `kind`: `"problem-class"`; `line`: `7`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"auth-better-auth/session-lookup-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#auth-better-auth-session-lookup-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/auth-better-auth/src/libs/problems/BetterAuthSessionLookupProblem.ts"`; `kind`: `"problem-class"`; `line`: `7`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"NotFound"`; `code`: `"auth-better-auth/session-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#auth-better-auth-session-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/auth-better-auth/src/libs/problems/AuthProblems.ts"`; `kind`: `"problem-class"`; `line`: `23`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"NotFound"`; `code`: `"auth-better-auth/user-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#auth-better-auth-user-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/auth-better-auth/src/libs/problems/AuthProblems.ts"`; `kind`: `"problem-class"`; `line`: `39`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"Conflict"`; `code`: `"auth-clerk/duplicate-tenant-mapping"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#auth-clerk-duplicate-tenant-mapping"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/auth-clerk/src/libs/problems/ClerkProblems.ts"`; `kind`: `"problem-class"`; `line`: `94`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"auth-clerk/external-service-error"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#auth-clerk-external-service-error"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/auth-clerk/src/libs/problems/ClerkProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `121`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"auth-clerk/invalid-webhook-payload"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#auth-clerk-invalid-webhook-payload"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/auth-clerk/src/libs/problems/ClerkProblems.ts"`; `kind`: `"problem-class"`; `line`: `19`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"Unauthorized"`; `code`: `"auth-clerk/malformed-claim"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#auth-clerk-malformed-claim"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request did not include valid authentication credentials."`; `operatorAction`: `"Check authentication configuration, token issuer, and clock skew."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Sign in again or provide a valid credential."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/auth-clerk/src/libs/problems/ClerkProblems.ts"`; `kind`: `"problem-class"`; `line`: `83`; \}\]; `status`: `401`; `title`: `"Unauthorized"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"auth-clerk/public-user-data-missing"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#auth-clerk-public-user-data-missing"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/auth-clerk/src/libs/problems/ClerkProblems.ts"`; `kind`: `"problem-class"`; `line`: `109`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Unauthorized"`; `code`: `"auth-clerk/token-verification-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#auth-clerk-token-verification-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request did not include valid authentication credentials."`; `operatorAction`: `"Check authentication configuration, token issuer, and clock skew."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Sign in again or provide a valid credential."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/auth-clerk/src/libs/problems/ClerkProblems.ts"`; `kind`: `"problem-class"`; `line`: `36`; \}\]; `status`: `401`; `title`: `"Unauthorized"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"auth-clerk/token-verification-upstream-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#auth-clerk-token-verification-upstream-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/auth-clerk/src/libs/problems/ClerkProblems.ts"`; `kind`: `"problem-class"`; `line`: `60`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Unauthorized"`; `code`: `"auth-clerk/webhook-verification-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#auth-clerk-webhook-verification-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request did not include valid authentication credentials."`; `operatorAction`: `"Check authentication configuration, token issuer, and clock skew."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Sign in again or provide a valid credential."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/auth-clerk/src/libs/problems/ClerkProblems.ts"`; `kind`: `"problem-class"`; `line`: `8`; \}\]; `status`: `401`; `title`: `"Unauthorized"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"auth-core/api-key-creation-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#auth-core-api-key-creation-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/auth-core/src/libs/problems/AuthProblems.ts"`; `kind`: `"problem-class"`; `line`: `80`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"auth-core/api-key-rotation-conflict"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#auth-core-api-key-rotation-conflict"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/auth-core/src/libs/problems/AuthProblems.ts"`; `kind`: `"problem-class"`; `line`: `88`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"auth-core/api-key-rotation-protection-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#auth-core-api-key-rotation-protection-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/auth-core/src/libs/apikey/ApiKeyRotationProtector.ts"`; `kind`: `"problem-constructor"`; `line`: `28`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"auth-core/auth-provider-unavailable"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#auth-core-auth-provider-unavailable"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/auth-core/src/libs/problems/AuthProblems.ts"`; `kind`: `"problem-class"`; `line`: `21`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"auth-core/invalid-api-key-rotation-idempotency-key"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#auth-core-invalid-api-key-rotation-idempotency-key"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/auth-core/src/libs/problems/AuthProblems.ts"`; `kind`: `"problem-class"`; `line`: `96`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"auth-core/invalid-permission-action"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#auth-core-invalid-permission-action"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/auth-core/src/libs/problems/AuthProblems.ts"`; `kind`: `"problem-class"`; `line`: `72`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"auth-core/invalid-permission-format"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#auth-core-invalid-permission-format"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/auth-core/src/libs/problems/AuthProblems.ts"`; `kind`: `"problem-class"`; `line`: `64`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"auth-core/invalid-route-metadata-target"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#auth-core-invalid-route-metadata-target"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"An authentication guard received a route metadata target that was neither an object nor a function."`; `operatorAction`: `"Inspect the route adapter metadata target and ensure it returns the controller object or constructor before handling requests."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Do not retry the unchanged request; ask the service operator to correct the route metadata configuration."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/auth-core/src/libs/problems/AuthProblems.ts"`; `kind`: `"problem-class"`; `line`: `35`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"BAD_REQUEST"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#bad-request"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/access-core/src/libs/guards/AccessGuard.ts"`; `kind`: `"problem-constructor"`; `line`: `11`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"BadRequest"`; `code`: `"batch-qstash/invalid-publish-request"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#batch-qstash-invalid-publish-request"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/batch-qstash/src/libs/problems/QStashBatchProblems.ts"`; `kind`: `"problem-class"`; `line`: `18`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"batch-qstash/missing-config"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#batch-qstash-missing-config"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/batch-qstash/src/libs/problems/QStashBatchProblems.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"BILLING_STATUS_MAPPING_FAILED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-status-mapping-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-polar/src/libs/problems/BillingStatusMappingProblem.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"billing-polar/checkout-idempotency-conflict"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-polar-checkout-idempotency-conflict"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/billing-polar/src/libs/problems/PolarBillingProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `89`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"NotFound"`; `code`: `"billing-polar/customer-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-polar-customer-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/billing-polar/src/libs/problems/PolarBillingProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `107`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"billing-polar/missing-config"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-polar-missing-config"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/billing-polar/src/libs/problems/PolarBillingProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `18`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"billing-polar/retryable-upstream"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-polar-retryable-upstream"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/billing-polar/src/libs/problems/PolarBillingProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `133`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"NotFound"`; `code`: `"billing-polar/subscription-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-polar-subscription-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/billing-polar/src/libs/problems/PolarBillingProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `120`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"billing-polar/terminal-upstream"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-polar-terminal-upstream"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/billing-polar/src/libs/problems/PolarBillingProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `149`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"NotFound"`; `code`: `"billing-polar/usage-customer-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-polar-usage-customer-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/billing-polar/src/libs/problems/PolarBillingProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `69`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"ValidationError"`; `code`: `"billing-polar/usage-meter-mapping-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-polar-usage-meter-mapping-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/billing-polar/src/libs/problems/PolarBillingProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `51`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"billing-polar/validation-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-polar-validation-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/billing-polar/src/libs/problems/PolarBillingProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `38`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"NotFound"`; `code`: `"billing/account-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-account-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/BillingProblems.ts"`; `kind`: `"problem-class"`; `line`: `32`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"billing/checkout-creation-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-checkout-creation-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/BillingProblems.ts"`; `kind`: `"problem-class"`; `line`: `92`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"billing/checkout-in-progress"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-checkout-in-progress"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/BillingProblems.ts"`; `kind`: `"problem-class"`; `line`: `100`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"BadRequest"`; `code`: `"billing/invalid-lifecycle-idempotency-key"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-invalid-lifecycle-idempotency-key"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/BillingProblems.ts"`; `kind`: `"problem-class"`; `line`: `80`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"BadRequest"`; `code`: `"billing/invalid-money-amount"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-invalid-money-amount"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/BillingProblems.ts"`; `kind`: `"problem-class"`; `line`: `113`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"BadRequest"`; `code`: `"billing/invalid-money-currency"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-invalid-money-currency"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/BillingProblems.ts"`; `kind`: `"problem-class"`; `line`: `121`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"BadRequest"`; `code`: `"billing/invalid-plan-release-schedule"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-invalid-plan-release-schedule"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/PlanReleaseProblems.ts"`; `kind`: `"problem-class"`; `line`: `69`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"BusinessRuleViolation"`; `code`: `"billing/invalid-plan-release-transition"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-invalid-plan-release-transition"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request is syntactically valid but violates a domain rule."`; `operatorAction`: `"Review domain policy, entitlement, quota, and lifecycle rule evidence."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Change the workflow state or request values so the business rule is satisfied."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/PlanReleaseProblems.ts"`; `kind`: `"problem-class"`; `line`: `21`; \}\]; `status`: `422`; `title`: `"Business Rule Violation"`; \}, \{ `category`: `"BadRequest"`; `code`: `"billing/invalid-plan-version-definition"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-invalid-plan-version-definition"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/BillingProblems.ts"`; `kind`: `"problem-class"`; `line`: `157`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"BadRequest"`; `code`: `"billing/invalid-plan-version-ref"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-invalid-plan-version-ref"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/BillingProblems.ts"`; `kind`: `"problem-class"`; `line`: `149`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"BadRequest"`; `code`: `"billing/invalid-subscription-quantity"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-invalid-subscription-quantity"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/BillingProblems.ts"`; `kind`: `"problem-class"`; `line`: `216`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"Conflict"`; `code`: `"billing/lifecycle-command-conflict"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-lifecycle-command-conflict"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/BillingProblems.ts"`; `kind`: `"problem-class"`; `line`: `48`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"Conflict"`; `code`: `"billing/lifecycle-command-in-progress"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-lifecycle-command-in-progress"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/BillingProblems.ts"`; `kind`: `"problem-class"`; `line`: `60`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"NotFound"`; `code`: `"billing/lifecycle-command-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-lifecycle-command-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/BillingProblems.ts"`; `kind`: `"problem-class"`; `line`: `72`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"BusinessRuleViolation"`; `code`: `"billing/money-currency-mismatch"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-money-currency-mismatch"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request is syntactically valid but violates a domain rule."`; `operatorAction`: `"Review domain policy, entitlement, quota, and lifecycle rule evidence."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Change the workflow state or request values so the business rule is satisfied."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/BillingProblems.ts"`; `kind`: `"problem-class"`; `line`: `129`; \}\]; `status`: `422`; `title`: `"Business Rule Violation"`; \}, \{ `category`: `"BadRequest"`; `code`: `"billing/money-division-by-zero"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-money-division-by-zero"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/BillingProblems.ts"`; `kind`: `"problem-class"`; `line`: `141`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"Conflict"`; `code`: `"billing/overlapping-plan-effective-period"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-overlapping-plan-effective-period"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/PlanReleaseProblems.ts"`; `kind`: `"problem-class"`; `line`: `34`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"ValidationError"`; `code`: `"billing/plan-release-provider-capability-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-plan-release-provider-capability-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/PlanReleaseProblems.ts"`; `kind`: `"problem-class"`; `line`: `58`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"billing/plan-release-publish-conflict"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-plan-release-publish-conflict"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/PlanReleaseProblems.ts"`; `kind`: `"problem-class"`; `line`: `78`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"ValidationError"`; `code`: `"billing/plan-release-validation-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-plan-release-validation-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/PlanReleaseProblems.ts"`; `kind`: `"problem-class"`; `line`: `47`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"billing/plan-version-already-published"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-plan-version-already-published"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/BillingProblems.ts"`; `kind`: `"problem-class"`; `line`: `165`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"Conflict"`; `code`: `"billing/plan-version-conflict"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-plan-version-conflict"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/BillingProblems.ts"`; `kind`: `"problem-class"`; `line`: `173`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"NotImplemented"`; `code`: `"billing/provider-capability-unavailable"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-provider-capability-unavailable"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested capability is not supported by this runtime or adapter."`; `operatorAction`: `"Check runtime capability declarations and provider maturity documentation."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Use a supported capability or choose an adapter/runtime that provides it."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/BillingProblems.ts"`; `kind`: `"problem-class"`; `line`: `6`; \}\]; `status`: `501`; `title`: `"Not Implemented"`; \}, \{ `category`: `"Conflict"`; `code`: `"billing/stale-plan-release-revision"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-stale-plan-release-revision"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/PlanReleaseProblems.ts"`; `kind`: `"problem-class"`; `line`: `7`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"NotFound"`; `code`: `"billing/subscription-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-subscription-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/BillingProblems.ts"`; `kind`: `"problem-class"`; `line`: `24`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"BusinessRuleViolation"`; `code`: `"billing/subscription-plan-version-mismatch"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-subscription-plan-version-mismatch"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request is syntactically valid but violates a domain rule."`; `operatorAction`: `"Review domain policy, entitlement, quota, and lifecycle rule evidence."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Change the workflow state or request values so the business rule is satisfied."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/BillingProblems.ts"`; `kind`: `"problem-class"`; `line`: `203`; \}\]; `status`: `422`; `title`: `"Business Rule Violation"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"billing/subscription-quantity-provider-mismatch"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-subscription-quantity-provider-mismatch"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/BillingProblems.ts"`; `kind`: `"problem-class"`; `line`: `262`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"billing/subscription-quantity-provider-source-ahead"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-subscription-quantity-provider-source-ahead"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/BillingProblems.ts"`; `kind`: `"problem-class"`; `line`: `275`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"Conflict"`; `code`: `"billing/subscription-quantity-reconciliation-conflict"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-subscription-quantity-reconciliation-conflict"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/BillingProblems.ts"`; `kind`: `"problem-class"`; `line`: `241`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"billing/subscription-quantity-reconciliation-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-subscription-quantity-reconciliation-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/BillingProblems.ts"`; `kind`: `"problem-class"`; `line`: `251`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"billing/subscription-quantity-source-mismatch"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-subscription-quantity-source-mismatch"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/BillingProblems.ts"`; `kind`: `"problem-class"`; `line`: `224`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"NotFound"`; `code`: `"billing/unknown-plan-version"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-unknown-plan-version"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/BillingProblems.ts"`; `kind`: `"problem-class"`; `line`: `181`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"NotFound"`; `code`: `"billing/unknown-provider-plan-mapping"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-unknown-provider-plan-mapping"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/BillingProblems.ts"`; `kind`: `"problem-class"`; `line`: `189`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"Conflict"`; `code`: `"billing/webhook-already-processed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-webhook-already-processed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/BillingProblems.ts"`; `kind`: `"problem-class"`; `line`: `40`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"Forbidden"`; `code`: `"BLOCKED_DURING_IMPERSONATION"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#blocked-during-impersonation"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The authenticated caller is not allowed to perform the requested action."`; `operatorAction`: `"Review policy, role, tenant, entitlement, and impersonation context."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Request the required permission or choose an allowed action."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/impersonation-core/src/libs/problems/ImpersonationProblems.ts"`; `kind`: `"problem-class"`; `line`: `49`; \}\]; `status`: `403`; `title`: `"Forbidden"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"cache-core/invalid-configuration"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#cache-core-invalid-configuration"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/cache-core/src/libs/problems/CacheStoreProblems.ts"`; `kind`: `"problem-class"`; `line`: `12`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"cache-core/invalid-decorator-config"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#cache-core-invalid-decorator-config"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/cache-core/src/libs/problems/CacheDecoratorProblems.ts"`; `kind`: `"problem-class"`; `line`: `12`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"cache-core/invalid-ttl"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#cache-core-invalid-ttl"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/cache-core/src/libs/problems/CacheStoreProblems.ts"`; `kind`: `"problem-class"`; `line`: `35`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"cache-core/invalidation-assertion-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#cache-core-invalidation-assertion-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/cache-core/src/libs/problems/CacheDecoratorProblems.ts"`; `kind`: `"problem-class"`; `line`: `102`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"cache-core/invalidation-capability-unsupported"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#cache-core-invalidation-capability-unsupported"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/cache-core/src/libs/problems/CacheDecoratorProblems.ts"`; `kind`: `"problem-class"`; `line`: `55`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"cache-core/invalidation-event-unknown"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#cache-core-invalidation-event-unknown"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/cache-core/src/libs/problems/CacheDecoratorProblems.ts"`; `kind`: `"problem-class"`; `line`: `41`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"cache-core/invalidation-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#cache-core-invalidation-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/cache-core/src/libs/problems/CacheDecoratorProblems.ts"`; `kind`: `"problem-class"`; `line`: `72`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"cache-core/invalidation-graph-invalid"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#cache-core-invalidation-graph-invalid"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/cache-core/src/libs/problems/CacheDecoratorProblems.ts"`; `kind`: `"problem-class"`; `line`: `27`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"TooManyRequests"`; `code`: `"CIRCUIT_BREAKER_OPEN"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#circuit-breaker-open"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller exceeded a rate, quota, or concurrency limit."`; `operatorAction`: `"Check limiter state, quota configuration, and abuse signals."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Wait for the retry window or reduce request volume."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/retry-core/src/libs/errors/CircuitBreakerOpenProblem.ts"`; `kind`: `"problem-class"`; `line`: `7`; \}\]; `status`: `429`; `title`: `"Too Many Requests"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"cloudflare/images-invalid-ttl"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#cloudflare-images-invalid-ttl"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `13`; `file`: `"packages/storage-cloudflare/src/libs/CloudflareImagesProvider.ts"`; `kind`: `"problem-factory"`; `line`: `55`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"cloudflare/images-null-result"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#cloudflare-images-null-result"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `13`; `file`: `"packages/storage-cloudflare/src/libs/CloudflareImagesProvider.ts"`; `kind`: `"problem-factory"`; `line`: `278`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"cloudflare/images-upload-intent-null-result"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#cloudflare-images-upload-intent-null-result"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `13`; `file`: `"packages/storage-cloudflare/src/libs/CloudflareImagesProvider.ts"`; `kind`: `"problem-factory"`; `line`: `354`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"CONFLICTING_PAGINATION"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#conflicting-pagination"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/pagination-core/src/libs/problems.ts"`; `kind`: `"problem-class"`; `line`: `17`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"ValidationError"`; `code`: `"create-croco-app/directory-not-empty"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#create-croco-app-directory-not-empty"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/create-croco-app/src/libs/problems/DirectoryNotEmptyProblem.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"create-croco-app/invalid-cli-option"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#create-croco-app-invalid-cli-option"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/create-croco-app/src/libs/problems/InvalidCliOptionProblem.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"create-croco-app/invalid-goal-option"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#create-croco-app-invalid-goal-option"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/create-croco-app/src/libs/problems/InvalidGoalOptionProblem.ts"`; `kind`: `"problem-class"`; `line`: `5`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"create-croco-app/invalid-saas-preset-option"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#create-croco-app-invalid-saas-preset-option"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/create-croco-app/src/libs/problems/InvalidSaasPresetOptionProblem.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"create-croco-app/lambda-telemetry-boundary"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#create-croco-app-lambda-telemetry-boundary"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/create-croco-app/templates/addons/lambda/apps/graphql-api/src/telemetryFlush.ts"`; `kind`: `"problem-class"`; `line`: `10`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"create-croco-app/unexpected-failure"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#create-croco-app-unexpected-failure"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/create-croco-app/src/cli-result.ts"`; `kind`: `"problem-class"`; `line`: `28`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"create-croco-app/unsupported-node-version"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#create-croco-app-unsupported-node-version"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The detected Node.js version is outside the supported generated-app toolchain train."`; `operatorAction`: `"Compare the reported actual Node.js version with the supported Node.js 22 train and verify the active version-manager configuration."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: ``"Install and activate Node.js 22 with `nvm install 22 && nvm use 22`, then rerun the command."``; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/create-croco-app/src/libs/problems/UnsupportedNodeVersionProblem.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"create-croco-app/web-meta-vite-fullstack-missing-hydration-root"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#create-croco-app-web-meta-vite-fullstack-missing-hydration-root"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/create-croco-app/templates/addons/web-meta-vite-fullstack/ssr-worker/src/client.tsx"`; `kind`: `"problem-constructor"`; `line`: `11`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"create-croco-app/web-meta-vite-missing-hydration-root"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#create-croco-app-web-meta-vite-missing-hydration-root"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/create-croco-app/templates/addons/web-meta-vite/src/client.tsx"`; `kind`: `"problem-constructor"`; `line`: `11`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"credits-core/account-mismatch"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#credits-core-account-mismatch"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/credits-core/src/libs/problems.ts"`; `kind`: `"problem-class"`; `line`: `81`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"NotFound"`; `code`: `"credits-core/account-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#credits-core-account-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/credits-core/src/libs/problems.ts"`; `kind`: `"problem-class"`; `line`: `15`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"Conflict"`; `code`: `"credits-core/duplicate-conflict"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#credits-core-duplicate-conflict"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/credits-core/src/libs/problems.ts"`; `kind`: `"problem-class"`; `line`: `67`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"credits-core/event-publication-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#credits-core-event-publication-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/credits-core/src/libs/problems.ts"`; `kind`: `"problem-class"`; `line`: `143`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"BusinessRuleViolation"`; `code`: `"credits-core/expired-grant"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#credits-core-expired-grant"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request is syntactically valid but violates a domain rule."`; `operatorAction`: `"Review domain policy, entitlement, quota, and lifecycle rule evidence."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Change the workflow state or request values so the business rule is satisfied."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/credits-core/src/libs/problems.ts"`; `kind`: `"problem-class"`; `line`: `39`; \}\]; `status`: `422`; `title`: `"Business Rule Violation"`; \}, \{ `category`: `"BusinessRuleViolation"`; `code`: `"credits-core/insufficient-credits"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#credits-core-insufficient-credits"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request is syntactically valid but violates a domain rule."`; `operatorAction`: `"Review domain policy, entitlement, quota, and lifecycle rule evidence."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Change the workflow state or request values so the business rule is satisfied."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/credits-core/src/libs/problems.ts"`; `kind`: `"problem-class"`; `line`: `25`; \}\]; `status`: `422`; `title`: `"Business Rule Violation"`; \}, \{ `category`: `"ValidationError"`; `code`: `"credits-core/invalid-amount"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#credits-core-invalid-amount"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/credits-core/src/libs/problems.ts"`; `kind`: `"problem-class"`; `line`: `5`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"credits-core/invalid-command"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#credits-core-invalid-command"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/credits-core/src/libs/problems.ts"`; `kind`: `"problem-class"`; `line`: `109`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"BusinessRuleViolation"`; `code`: `"credits-core/refund-mismatch"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#credits-core-refund-mismatch"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request is syntactically valid but violates a domain rule."`; `operatorAction`: `"Review domain policy, entitlement, quota, and lifecycle rule evidence."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Change the workflow state or request values so the business rule is satisfied."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/credits-core/src/libs/problems.ts"`; `kind`: `"problem-class"`; `line`: `129`; \}\]; `status`: `422`; `title`: `"Business Rule Violation"`; \}, \{ `category`: `"BusinessRuleViolation"`; `code`: `"credits-core/reservation-mismatch"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#credits-core-reservation-mismatch"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request is syntactically valid but violates a domain rule."`; `operatorAction`: `"Review domain policy, entitlement, quota, and lifecycle rule evidence."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Change the workflow state or request values so the business rule is satisfied."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/credits-core/src/libs/problems.ts"`; `kind`: `"problem-class"`; `line`: `53`; \}\]; `status`: `422`; `title`: `"Business Rule Violation"`; \}, \{ `category`: `"Conflict"`; `code`: `"credits-core/stale-ledger-position"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#credits-core-stale-ledger-position"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/credits-core/src/libs/problems.ts"`; `kind`: `"problem-class"`; `line`: `95`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"NotFound"`; `code`: `"credits-core/transaction-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#credits-core-transaction-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/credits-core/src/libs/problems.ts"`; `kind`: `"problem-class"`; `line`: `119`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"credits-drizzle/persistence-failure"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#credits-drizzle-persistence-failure"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/credits-drizzle/src/libs/problems.ts"`; `kind`: `"problem-class"`; `line`: `5`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"CROCO_CLI_JOBS_001"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#croco-cli-jobs-001"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/cli/src/commands/jobs.ts"`; `kind`: `"problem-constructor"`; `line`: `88`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"BadRequest"`; `code`: `"CROCO_CLI_JOBS_002"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#croco-cli-jobs-002"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/cli/src/commands/jobs.ts"`; `kind`: `"problem-constructor"`; `line`: `99`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"BadRequest"`; `code`: `"CROCO_CLI_JOBS_003"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#croco-cli-jobs-003"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/cli/src/commands/jobs.ts"`; `kind`: `"problem-constructor"`; `line`: `110`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"Conflict"`; `code`: `"CROCO_CLI_JOBS_004"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#croco-cli-jobs-004"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `49`; `file`: `"packages/cli/src/commands/jobs.ts"`; `kind`: `"problem-metadata"`; `line`: `137`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"NotFound"`; `code`: `"CROCO_CLI_JOBS_005"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#croco-cli-jobs-005"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `63`; `file`: `"packages/cli/src/commands/jobs.ts"`; `kind`: `"problem-metadata"`; `line`: `132`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"BadRequest"`; `code`: `"CROCO_CLI_OPS_001"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#croco-cli-ops-001"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/cli/src/libs/ops.ts"`; `kind`: `"problem-constructor"`; `line`: `66`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"BadRequest"`; `code`: `"CROCO_CLI_OPS_002"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#croco-cli-ops-002"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/cli/src/libs/ops.ts"`; `kind`: `"problem-constructor"`; `line`: `55`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"BadRequest"`; `code`: `"CROCO_CLI_USAGE_DASHBOARD_005"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#croco-cli-usage-dashboard-005"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/cli/src/commands/generateUsageDashboard.ts"`; `kind`: `"problem-constructor"`; `line`: `24`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"CROCO_HTTP_MIDDLEWARE_001"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#croco-http-middleware-001"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"HTTP middleware returned without a Response, without shortCircuit(reason), and without calling next() exactly once."`; `operatorAction`: `"Update the named @croco/transports-http middleware to return next(), await next() once, return a Response, or return shortCircuit(reason) for intentional termination."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry only after the service owner ships a middleware contract fix."`; \}; `sources`: readonly \[\{ `column`: `12`; `file`: `"packages/transports-http/src/libs/CrocoRouteRegistrar.ts"`; `kind`: `"problem-factory"`; `line`: `367`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"CROCO_HTTP_MIDDLEWARE_002"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#croco-http-middleware-002"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"HTTP middleware attempted to resume the downstream pipeline more than once."`; `operatorAction`: `"Store the Response from a single next() call and reuse or transform it instead of calling next() again."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry only after the service owner ships a middleware contract fix."`; \}; `sources`: readonly \[\{ `column`: `15`; `file`: `"packages/transports-http/src/libs/CrocoRouteRegistrar.ts"`; `kind`: `"problem-factory"`; `line`: `272`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"CROCO_HTTP_SECURITY_001"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#croco-http-security-001"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"HTTP bootstrap validation found a generated or application app without the required security middleware set."`; `operatorAction`: `"Add the missing @croco/transports-http middleware or keep securityValidation disabled only in an explicit local migration/testing fixture."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Use an app build that registers security headers, CORS, body limit, and rate-limit middleware before first run."`; \}; `sources`: readonly \[\{ `column`: `11`; `file`: `"packages/transports-http/src/libs/CrocoApp.ts"`; `kind`: `"problem-factory"`; `line`: `278`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"CROCO_HTTP_SECURITY_002"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#croco-http-security-002"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `11`; `file`: `"packages/transports-http/src/libs/middleware/SecurityMiddlewareMarker.ts"`; `kind`: `"problem-factory"`; `line`: `154`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"ValidationError"`; `code`: `"CROCO_TEST_EVIDENCE_CONTRACT_INVALID"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#croco-test-evidence-contract-invalid"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/testing/src/libs/test-evidence.mts"`; `kind`: `"problem-constructor"`; `line`: `159`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"CROCO_TEST_EVIDENCE_FIDELITY_UNSATISFIED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#croco-test-evidence-fidelity-unsatisfied"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/testing/src/libs/test-evidence.mts"`; `kind`: `"problem-constructor"`; `line`: `173`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"dataloader-core/batch-result-length-mismatch"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#dataloader-core-batch-result-length-mismatch"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/dataloader-core/src/libs/problems/BatchLoaderProblems.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"diagnostics-core/duplicate-provider"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#diagnostics-core-duplicate-provider"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/diagnostics-core/src/libs/problems/DiagnosticsProblems.ts"`; `kind`: `"problem-class"`; `line`: `25`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"diagnostics-core/invalid-timeout"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#diagnostics-core-invalid-timeout"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/diagnostics-core/src/libs/problems/DiagnosticsProblems.ts"`; `kind`: `"problem-class"`; `line`: `9`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"DUPLICATE_INVITATION"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#duplicate-invitation"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/invitation-core/src/libs/problems/RateLimitProblems.ts"`; `kind`: `"problem-class"`; `line`: `13`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"DUPLICATE_RECOVER_HANDLER"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#duplicate-recover-handler"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/retry-core/src/libs/errors/DuplicateRecoverHandlerProblem.ts"`; `kind`: `"problem-class"`; `line`: `7`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"DURATION_PARSE_ERROR"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#duration-parse-error"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/framework-context/src/libs/problems/ContextProblems.ts"`; `kind`: `"problem-class"`; `line`: `15`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"EMBEDDING_ERROR"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#embedding-error"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/llm-core/src/libs/problems/LlmServiceProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `43`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"engagement-core/message-already-registered"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#engagement-core-message-already-registered"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/engagement-core/src/libs/MessageContracts.ts"`; `kind`: `"problem-constructor"`; `line`: `312`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"ValidationError"`; `code`: `"engagement-core/message-data-invalid"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#engagement-core-message-data-invalid"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/engagement-core/src/libs/MessageContracts.ts"`; `kind`: `"problem-constructor"`; `line`: `299`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"engagement-core/message-definition-invalid"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#engagement-core-message-definition-invalid"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/engagement-core/src/libs/MessageContracts.ts"`; `kind`: `"problem-constructor"`; `line`: `291`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"engagement-core/renderer-already-registered"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#engagement-core-renderer-already-registered"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/engagement-core/src/libs/MessageContracts.ts"`; `kind`: `"problem-constructor"`; `line`: `325`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"ValidationError"`; `code`: `"engagement-core/renderer-binding-mismatch"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#engagement-core-renderer-binding-mismatch"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/engagement-core/src/libs/MessageContracts.ts"`; `kind`: `"problem-constructor"`; `line`: `371`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"engagement-core/renderer-channel-missing"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#engagement-core-renderer-channel-missing"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/engagement-core/src/libs/MessageContracts.ts"`; `kind`: `"problem-constructor"`; `line`: `360`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"engagement-core/renderer-channel-undeclared"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#engagement-core-renderer-channel-undeclared"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/engagement-core/src/libs/MessageContracts.ts"`; `kind`: `"problem-constructor"`; `line`: `382`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"engagement-core/renderer-message-missing"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#engagement-core-renderer-message-missing"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/engagement-core/src/libs/MessageContracts.ts"`; `kind`: `"problem-constructor"`; `line`: `347`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"engagement-core/renderer-missing"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#engagement-core-renderer-missing"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/engagement-core/src/libs/MessageContracts.ts"`; `kind`: `"problem-constructor"`; `line`: `336`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Forbidden"`; `code`: `"ENTITLEMENT_DENIED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#entitlement-denied"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The authenticated caller is not allowed to perform the requested action."`; `operatorAction`: `"Review policy, role, tenant, entitlement, and impersonation context."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Request the required permission or choose an allowed action."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/entitlements-core/src/libs/problems/EntitlementProblems.ts"`; `kind`: `"problem-class"`; `line`: `20`; \}\]; `status`: `403`; `title`: `"Forbidden"`; \}, \{ `category`: `"Forbidden"`; `code`: `"ENTITLEMENT_INACTIVE_SUBSCRIPTION"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#entitlement-inactive-subscription"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The authenticated caller is not allowed to perform the requested action."`; `operatorAction`: `"Review policy, role, tenant, entitlement, and impersonation context."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Request the required permission or choose an allowed action."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/entitlements-core/src/libs/problems/EntitlementProblems.ts"`; `kind`: `"problem-class"`; `line`: `46`; \}\]; `status`: `403`; `title`: `"Forbidden"`; \}, \{ `category`: `"Forbidden"`; `code`: `"ENTITLEMENT_MISSING_PLAN"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#entitlement-missing-plan"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The authenticated caller is not allowed to perform the requested action."`; `operatorAction`: `"Review policy, role, tenant, entitlement, and impersonation context."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Request the required permission or choose an allowed action."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/entitlements-core/src/libs/problems/EntitlementProblems.ts"`; `kind`: `"problem-class"`; `line`: `32`; \}\]; `status`: `403`; `title`: `"Forbidden"`; \}, \{ `category`: `"NotFound"`; `code`: `"ENTITLEMENT_NOT_FOUND"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#entitlement-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/entitlements-core/src/libs/problems/EntitlementProblems.ts"`; `kind`: `"problem-class"`; `line`: `86`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"ENTITLEMENT_PROVIDER_UNAVAILABLE"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#entitlement-provider-unavailable"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/entitlements-core/src/libs/problems/EntitlementProblems.ts"`; `kind`: `"problem-class"`; `line`: `74`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"TooManyRequests"`; `code`: `"ENTITLEMENT_QUOTA_EXCEEDED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#entitlement-quota-exceeded"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller exceeded a rate, quota, or concurrency limit."`; `operatorAction`: `"Check limiter state, quota configuration, and abuse signals."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Wait for the retry window or reduce request volume."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/entitlements-core/src/libs/problems/EntitlementProblems.ts"`; `kind`: `"problem-class"`; `line`: `60`; \}\]; `status`: `429`; `title`: `"Too Many Requests"`; \}, \{ `category`: `"ValidationError"`; `code`: `"ENTITLEMENT_REQUIREMENT_INVALID"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#entitlement-requirement-invalid"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/entitlements-core/src/libs/problems/EntitlementProblems.ts"`; `kind`: `"problem-class"`; `line`: `11`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"entitlements-core/definition-invalid"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#entitlements-core-definition-invalid"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/entitlements-core/src/libs/problems/EntitlementProblems.ts"`; `kind`: `"problem-class"`; `line`: `95`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"entitlements-core/plan-version-already-registered"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#entitlements-core-plan-version-already-registered"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/entitlements-core/src/libs/problems/EntitlementProblems.ts"`; `kind`: `"problem-class"`; `line`: `113`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"Conflict"`; `code`: `"entitlements-core/plan-version-mismatch"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#entitlements-core-plan-version-mismatch"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/entitlements-core/src/libs/problems/EntitlementProblems.ts"`; `kind`: `"problem-class"`; `line`: `122`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"NotFound"`; `code`: `"entitlements-core/plan-version-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#entitlements-core-plan-version-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/entitlements-core/src/libs/problems/EntitlementProblems.ts"`; `kind`: `"problem-class"`; `line`: `104`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"events-core/after-commit-outcome-required"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#events-core-after-commit-outcome-required"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/events-core/src/libs/problems/EventsProblems.ts"`; `kind`: `"problem-class"`; `line`: `107`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"events-core/after-commit-requires-active-transaction"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#events-core-after-commit-requires-active-transaction"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/events-core/src/libs/problems/EventsProblems.ts"`; `kind`: `"problem-class"`; `line`: `96`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"events-core/deserialization-error"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#events-core-deserialization-error"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/events-core/src/libs/problems/EventsProblems.ts"`; `kind`: `"problem-class"`; `line`: `40`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"events-core/duplicate-event-field"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#events-core-duplicate-event-field"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/events-core/src/libs/problems/EventsProblems.ts"`; `kind`: `"problem-class"`; `line`: `51`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"events-core/duplicate-event-name"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#events-core-duplicate-event-name"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/events-core/src/libs/problems/EventsProblems.ts"`; `kind`: `"problem-class"`; `line`: `66`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"events-core/event-bus-not-set"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#events-core-event-bus-not-set"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/events-core/src/libs/problems/EventsProblems.ts"`; `kind`: `"problem-class"`; `line`: `7`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"events-core/event-definition-error"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#events-core-event-definition-error"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/events-core/src/libs/problems/EventsProblems.ts"`; `kind`: `"problem-class"`; `line`: `18`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"events-core/transaction-context-unavailable"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#events-core-transaction-context-unavailable"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/events-core/src/libs/problems/EventsProblems.ts"`; `kind`: `"problem-class"`; `line`: `81`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"events-core/unknown-event-type"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#events-core-unknown-event-type"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/events-core/src/libs/problems/EventsProblems.ts"`; `kind`: `"problem-class"`; `line`: `29`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"TooManyRequests"`; `code`: `"events-inmemory/backpressure-exceeded"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#events-inmemory-backpressure-exceeded"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller exceeded a rate, quota, or concurrency limit."`; `operatorAction`: `"Check limiter state, quota configuration, and abuse signals."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Wait for the retry window or reduce request volume."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/events-inmemory/src/libs/problems/EventsInmemoryProblems.ts"`; `kind`: `"problem-class"`; `line`: `35`; \}\]; `status`: `429`; `title`: `"Too Many Requests"`; \}, \{ `category`: `"TooManyRequests"`; `code`: `"events-inmemory/backpressure-timeout"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#events-inmemory-backpressure-timeout"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller exceeded a rate, quota, or concurrency limit."`; `operatorAction`: `"Check limiter state, quota configuration, and abuse signals."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Wait for the retry window or reduce request volume."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/events-inmemory/src/libs/problems/EventsInmemoryProblems.ts"`; `kind`: `"problem-class"`; `line`: `51`; \}\]; `status`: `429`; `title`: `"Too Many Requests"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"events-inmemory/invalid-configuration"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#events-inmemory-invalid-configuration"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/events-inmemory/src/libs/problems/EventsInmemoryProblems.ts"`; `kind`: `"problem-class"`; `line`: `12`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"events-inmemory/publish-dropped"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#events-inmemory-publish-dropped"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/events-inmemory/src/libs/InmemoryEventBus.ts"`; `kind`: `"problem-class"`; `line`: `54`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"events-inmemory/publish-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#events-inmemory-publish-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/events-inmemory/src/libs/InmemoryEventBus.ts"`; `kind`: `"problem-class"`; `line`: `37`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"events-tx/configuration-invalid"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#events-tx-configuration-invalid"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/events-tx/src/libs/problems/EventsTxProblems.ts"`; `kind`: `"problem-class"`; `line`: `36`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"events-tx/inbox-claim-conflict"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#events-tx-inbox-claim-conflict"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"An inbox completion request no longer owns the processing attempt it started."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints, then verify workers complete only the attempt they claimed."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Acquire a new inbox claim before retrying processing; discard the stale completion when a new claim cannot be acquired."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/events-tx/src/libs/problems/EventsTxProblems.ts"`; `kind`: `"problem-class"`; `line`: `120`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"Conflict"`; `code`: `"events-tx/outbox-idempotency-conflict"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#events-tx-outbox-idempotency-conflict"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/events-tx/src/libs/problems/EventsTxProblems.ts"`; `kind`: `"problem-class"`; `line`: `83`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"events-tx/outbox-publish-exhausted"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#events-tx-outbox-publish-exhausted"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/events-tx/src/libs/problems/EventsTxProblems.ts"`; `kind`: `"problem-class"`; `line`: `105`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"events-tx/outbox-transaction-required"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#events-tx-outbox-transaction-required"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/events-tx/src/libs/problems/EventsTxProblems.ts"`; `kind`: `"problem-class"`; `line`: `64`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"events-tx/storage-error"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#events-tx-storage-error"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/events-tx/src/libs/problems/EventsTxProblems.ts"`; `kind`: `"problem-class"`; `line`: `73`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"events-tx/transaction-state-error"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#events-tx-transaction-state-error"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/events-tx/src/libs/problems/EventsTxProblems.ts"`; `kind`: `"problem-class"`; `line`: `56`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"execution/checkpoint-store-conformance"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#execution-checkpoint-store-conformance"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `12`; `file`: `"packages/execution-core/src/libs/ExecutionProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `138`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"execution/conflict"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#execution-conflict"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `12`; `file`: `"packages/execution-core/src/libs/ExecutionProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `90`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"Conflict"`; `code`: `"execution/continuation-conflict"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#execution-continuation-conflict"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `12`; `file`: `"packages/execution-core/src/libs/ExecutionProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `129`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"execution/continuation-unsupported"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#execution-continuation-unsupported"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `12`; `file`: `"packages/execution-core/src/libs/ExecutionProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `118`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"execution/idempotency-conflict"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#execution-idempotency-conflict"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `12`; `file`: `"packages/execution-core/src/libs/ExecutionProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `94`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"ValidationError"`; `code`: `"execution/invalid-continuation-lease-duration"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#execution-invalid-continuation-lease-duration"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/execution-core/src/libs/ExecutionProblem.ts"`; `kind`: `"problem-class"`; `line`: `29`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"execution/invalid-state-transition"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#execution-invalid-state-transition"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `12`; `file`: `"packages/execution-core/src/libs/ExecutionProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `110`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"Conflict"`; `code`: `"execution/max-retries-exceeded"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#execution-max-retries-exceeded"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `12`; `file`: `"packages/execution-core/src/libs/ExecutionProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `102`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"NotFound"`; `code`: `"execution/not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#execution-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `12`; `file`: `"packages/execution-core/src/libs/ExecutionProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `86`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"Forbidden"`; `code`: `"FORBIDDEN"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#forbidden"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The authenticated caller is not allowed to perform the requested action."`; `operatorAction`: `"Review policy, role, tenant, entitlement, and impersonation context."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Request the required permission or choose an allowed action."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/auth-core/src/libs/problems/AuthProblems.ts"`; `kind`: `"problem-class"`; `line`: `13`; \}\]; `status`: `403`; `title`: `"Forbidden"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"framework-config/config-schema-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#framework-config-config-schema-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/framework-config/src/libs/problems/ConfigProblems.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"framework-config/config-validation-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#framework-config-config-validation-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/framework-config/src/libs/problems/ConfigProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `15`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"framework-config/invalid-boolean-env"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#framework-config-invalid-boolean-env"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/framework-config/src/libs/problems/ConfigProblems.ts"`; `kind`: `"problem-class"`; `line`: `24`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"framework-context/circular-dependency"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#framework-context-circular-dependency"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/framework-context/src/libs/problems/CircularDependencyProblem.ts"`; `kind`: `"problem-class"`; `line`: `7`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"framework-context/container-scope-disposed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#framework-context-container-scope-disposed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `10`; `file`: `"packages/framework-context/src/libs/Container.ts"`; `kind`: `"problem-factory"`; `line`: `65`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"framework-context/context-middleware-execution-error"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#framework-context-context-middleware-execution-error"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/framework-context/src/libs/problems/ContextProblems.ts"`; `kind`: `"problem-class"`; `line`: `7`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"framework-context/di-resolution-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#framework-context-di-resolution-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/framework-context/src/libs/problems/ContainerResolutionProblem.ts"`; `kind`: `"problem-class"`; `line`: `10`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"framework-context/di-scope-mismatch"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#framework-context-di-scope-mismatch"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/framework-context/src/libs/problems/ContainerResolutionProblem.ts"`; `kind`: `"problem-class"`; `line`: `31`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"framework-context/on-shutdown-decorator-invalid"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#framework-context-on-shutdown-decorator-invalid"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/framework-context/src/libs/problems/ShutdownProblems.ts"`; `kind`: `"problem-class"`; `line`: `9`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"framework-context/pipeline-graph-invalid"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#framework-context-pipeline-graph-invalid"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/framework-context/src/libs/problems/PipelineGraphProblems.ts"`; `kind`: `"problem-class"`; `line`: `7`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"Conflict"`; `code`: `"framework-context/policy-capability-unavailable"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#framework-context-policy-capability-unavailable"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/framework-context/src/libs/problems/RuntimePolicyProblems.ts"`; `kind`: `"problem-class"`; `line`: `33`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"Conflict"`; `code`: `"framework-context/policy-conflict"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#framework-context-policy-conflict"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/framework-context/src/libs/problems/RuntimePolicyProblems.ts"`; `kind`: `"problem-class"`; `line`: `9`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"ValidationError"`; `code`: `"framework-context/policy-definition-invalid"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#framework-context-policy-definition-invalid"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/framework-context/src/libs/problems/RuntimePolicyProblems.ts"`; `kind`: `"problem-class"`; `line`: `21`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"framework-context/request-scope-outside-context"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#framework-context-request-scope-outside-context"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `13`; `file`: `"packages/framework-context/src/libs/Container.ts"`; `kind`: `"problem-factory"`; `line`: `1705`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"framework-context/runtime-inspector-invalid-configuration"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#framework-context-runtime-inspector-invalid-configuration"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/framework-context/src/libs/problems/RuntimeInspectorProblems.ts"`; `kind`: `"problem-class"`; `line`: `10`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"framework-context/shutdown-configuration-conflict"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#framework-context-shutdown-configuration-conflict"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/framework-context/src/libs/problems/ShutdownProblems.ts"`; `kind`: `"problem-class"`; `line`: `97`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"framework-context/shutdown-hook-execution-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#framework-context-shutdown-hook-execution-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/framework-context/src/libs/problems/ShutdownProblems.ts"`; `kind`: `"problem-class"`; `line`: `112`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"framework-context/shutdown-timeout"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#framework-context-shutdown-timeout"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/framework-context/src/libs/problems/ShutdownProblems.ts"`; `kind`: `"problem-class"`; `line`: `73`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"framework-module/circular-dependency"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#framework-module-circular-dependency"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/framework-module/src/problems.ts"`; `kind`: `"problem-constructor"`; `line`: `26`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"framework-module/invalid-module-definition"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#framework-module-invalid-module-definition"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/framework-module/src/problems.ts"`; `kind`: `"problem-constructor"`; `line`: `16`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"framework-module/lifecycle-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#framework-module-lifecycle-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/framework-module/src/problems.ts"`; `kind`: `"problem-constructor"`; `line`: `42`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"framework-module/provider-not-visible"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#framework-module-provider-not-visible"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/framework-module/src/problems.ts"`; `kind`: `"problem-constructor"`; `line`: `70`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"framework-module/provider-ownership-conflict"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#framework-module-provider-ownership-conflict"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/framework-module/src/problems.ts"`; `kind`: `"problem-constructor"`; `line`: `92`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"Conflict"`; `code`: `"framework-module/provider-write-not-owned"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#framework-module-provider-write-not-owned"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/framework-module/src/problems.ts"`; `kind`: `"problem-constructor"`; `line`: `108`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"frontend-problems/fetch-unavailable"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#frontend-problems-fetch-unavailable"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/frontend-problems/src/index.ts"`; `kind`: `"problem-class"`; `line`: `204`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"frontend-vite/missing-cloudflare-vite-plugin"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#frontend-vite-missing-cloudflare-vite-plugin"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/frontend-vite/src/libs/problems/MissingCloudflareVitePluginProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `14`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"GENERATION_ERROR"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#generation-error"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/llm-core/src/libs/problems/LlmServiceProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `34`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"gid-core/id-type-only-property"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#gid-core-id-type-only-property"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/gid-core/src/libs/problems/GidProblems.ts"`; `kind`: `"problem-class"`; `line`: `17`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"gid-core/invalid-id-prefix"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#gid-core-invalid-id-prefix"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/gid-core/src/libs/problems/GidProblems.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"NotImplemented"`; `code`: `"governance-core/delete-not-supported"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#governance-core-delete-not-supported"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested capability is not supported by this runtime or adapter."`; `operatorAction`: `"Check runtime capability declarations and provider maturity documentation."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Use a supported capability or choose an adapter/runtime that provides it."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/governance-core/src/libs/problems/DataGovernanceProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `34`; \}\]; `status`: `501`; `title`: `"Not Implemented"`; \}, \{ `category`: `"NotImplemented"`; `code`: `"governance-core/export-not-supported"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#governance-core-export-not-supported"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested capability is not supported by this runtime or adapter."`; `operatorAction`: `"Check runtime capability declarations and provider maturity documentation."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Use a supported capability or choose an adapter/runtime that provides it."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/governance-core/src/libs/problems/DataGovernanceProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `15`; \}\]; `status`: `501`; `title`: `"Not Implemented"`; \}, \{ `category`: `"ValidationError"`; `code`: `"governance-core/resource-validation-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#governance-core-resource-validation-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/governance-core/src/libs/DataGovernanceResource.ts"`; `kind`: `"problem-constructor"`; `line`: `102`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"BusinessRuleViolation"`; `code`: `"governance-core/retention-policy-violation"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#governance-core-retention-policy-violation"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request is syntactically valid but violates a domain rule."`; `operatorAction`: `"Review domain policy, entitlement, quota, and lifecycle rule evidence."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Change the workflow state or request values so the business rule is satisfied."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/governance-core/src/libs/problems/DataGovernanceProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `59`; \}\]; `status`: `422`; `title`: `"Business Rule Violation"`; \}, \{ `category`: `"NotFound"`; `code`: `"GRAPHQL_NOT_FOUND"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#graphql-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/protocols-graphql/src/libs/errors/GraphQLProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `23`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"NotFound"`; `code`: `"HEALTH_SCORE_NOT_FOUND"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#health-score-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/customer-health-core/src/libs/problems/HealthProblems.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"ValidationError"`; `code`: `"health-core/invalid-timeout"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#health-core-invalid-timeout"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/health-core/src/libs/problems/HealthProblems.ts"`; `kind`: `"problem-class"`; `line`: `9`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"idempotency-core/invalid-key"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#idempotency-core-invalid-key"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `11`; `file`: `"packages/idempotency-core/src/libs/problems/IdempotencyProblems.ts"`; `kind`: `"problem-metadata"`; `line`: `53`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"BadRequest"`; `code`: `"idempotency-core/invalid-ttl"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#idempotency-core-invalid-ttl"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `11`; `file`: `"packages/idempotency-core/src/libs/problems/IdempotencyProblems.ts"`; `kind`: `"problem-metadata"`; `line`: `72`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"Conflict"`; `code`: `"idempotency-core/key-conflict"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#idempotency-core-key-conflict"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `11`; `file`: `"packages/idempotency-core/src/libs/problems/IdempotencyProblems.ts"`; `kind`: `"problem-metadata"`; `line`: `37`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"Conflict"`; `code`: `"idempotency-core/reservation-expired"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#idempotency-core-reservation-expired"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `11`; `file`: `"packages/idempotency-core/src/libs/problems/IdempotencyProblems.ts"`; `kind`: `"problem-metadata"`; `line`: `101`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"Conflict"`; `code`: `"idempotency-core/reservation-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#idempotency-core-reservation-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `11`; `file`: `"packages/idempotency-core/src/libs/problems/IdempotencyProblems.ts"`; `kind`: `"problem-metadata"`; `line`: `87`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"Conflict"`; `code`: `"idempotency-core/reservation-state"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#idempotency-core-reservation-state"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `11`; `file`: `"packages/idempotency-core/src/libs/problems/IdempotencyProblems.ts"`; `kind`: `"problem-metadata"`; `line`: `120`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"Forbidden"`; `code`: `"IMPERSONATION_IDENTITY_CONFLICT"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#impersonation-identity-conflict"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The authenticated caller is not allowed to perform the requested action."`; `operatorAction`: `"Review policy, role, tenant, entitlement, and impersonation context."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Request the required permission or choose an allowed action."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/impersonation-core/src/libs/problems/ImpersonationProblems.ts"`; `kind`: `"problem-class"`; `line`: `13`; \}\]; `status`: `403`; `title`: `"Forbidden"`; \}, \{ `category`: `"BadRequest"`; `code`: `"IMPERSONATION_REASON_REQUIRED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#impersonation-reason-required"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/impersonation-core/src/libs/problems/ImpersonationProblems.ts"`; `kind`: `"problem-class"`; `line`: `40`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"NotFound"`; `code`: `"IMPERSONATION_SESSION_NOT_FOUND"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#impersonation-session-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/impersonation-core/src/libs/problems/ImpersonationProblems.ts"`; `kind`: `"problem-class"`; `line`: `58`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"NotFound"`; `code`: `"IMPERSONATION_TARGET_NOT_FOUND"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#impersonation-target-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/impersonation-core/src/libs/problems/ImpersonationProblems.ts"`; `kind`: `"problem-class"`; `line`: `22`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"NotFound"`; `code`: `"INDEX_NOT_FOUND"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#index-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/search-core/src/libs/problems/SearchProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `57`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"integrations-posthog/missing-config"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#integrations-posthog-missing-config"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/integrations-posthog/src/libs/problems/PostHogProblems.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"INVALID_AUTO_JOIN_ROLE"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#invalid-auto-join-role"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/invitation-core/src/libs/problems/DomainPolicyProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `18`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"BadRequest"`; `code`: `"INVALID_CURSOR"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#invalid-cursor"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/pagination-core/src/libs/problems.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"ValidationError"`; `code`: `"INVALID_INVITATION_EXPIRY_DURATION"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#invalid-invitation-expiry-duration"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/invitation-core/src/libs/problems/InvitationProblems.ts"`; `kind`: `"problem-class"`; `line`: `32`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"INVALID_PAGINATION_DIRECTION"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#invalid-pagination-direction"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/pagination-core/src/libs/problems.ts"`; `kind`: `"problem-class"`; `line`: `40`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"ValidationError"`; `code`: `"INVALID_RETRY_CONFIGURATION"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#invalid-retry-configuration"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/retry-core/src/libs/errors/RetryInfrastructureProblem.ts"`; `kind`: `"problem-class"`; `line`: `52`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"INVALID_ROLE"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#invalid-role"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/membership-core/src/libs/problems/MembershipProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `44`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"Conflict"`; `code`: `"INVITATION_ALREADY_ACCEPTED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#invitation-already-accepted"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/invitation-core/src/libs/problems/InvitationProblems.ts"`; `kind`: `"problem-class"`; `line`: `73`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"INVITATION_CREATION_FAILED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#invitation-creation-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/invitation-core/src/libs/problems/InvitationProblems.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Forbidden"`; `code`: `"INVITATION_EMAIL_MISMATCH"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#invitation-email-mismatch"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The authenticated caller is not allowed to perform the requested action."`; `operatorAction`: `"Review policy, role, tenant, entitlement, and impersonation context."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Request the required permission or choose an allowed action."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/invitation-core/src/libs/problems/InvitationProblems.ts"`; `kind`: `"problem-class"`; `line`: `84`; \}\]; `status`: `403`; `title`: `"Forbidden"`; \}, \{ `category`: `"Gone"`; `code`: `"INVITATION_EXPIRED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#invitation-expired"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource is no longer available through this API surface."`; `operatorAction`: `"Verify lifecycle, migration, deprecation, and retention state."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Stop using the stale reference and follow the replacement flow when available."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/invitation-core/src/libs/problems/InvitationProblems.ts"`; `kind`: `"problem-class"`; `line`: `62`; \}\]; `status`: `410`; `title`: `"Gone"`; \}, \{ `category`: `"Conflict"`; `code`: `"INVITATION_IDEMPOTENCY_CONFLICT"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#invitation-idempotency-conflict"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/invitation-core/src/libs/problems/InvitationProblems.ts"`; `kind`: `"problem-class"`; `line`: `19`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"Conflict"`; `code`: `"INVITATION_INVALID_STATUS"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#invitation-invalid-status"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/invitation-core/src/libs/problems/InvitationProblems.ts"`; `kind`: `"problem-class"`; `line`: `95`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"NotFound"`; `code`: `"INVITATION_NOT_FOUND"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#invitation-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/invitation-core/src/libs/problems/InvitationProblems.ts"`; `kind`: `"problem-class"`; `line`: `51`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"TooManyRequests"`; `code`: `"INVITATION_RATE_LIMIT_EXCEEDED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#invitation-rate-limit-exceeded"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller exceeded a rate, quota, or concurrency limit."`; `operatorAction`: `"Check limiter state, quota configuration, and abuse signals."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Wait for the retry window or reduce request volume."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/invitation-core/src/libs/problems/RateLimitProblems.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `429`; `title`: `"Too Many Requests"`; \}, \{ `category`: `"BadRequest"`; `code`: `"invitation-core/batch-size-exceeded"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#invitation-core-batch-size-exceeded"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/invitation-core/src/libs/problems/BatchInviteProblems.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"invitation-drizzle/token-cipher-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#invitation-drizzle-token-cipher-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/invitation-drizzle/src/libs/InvitationTokenCipher.ts"`; `kind`: `"problem-constructor"`; `line`: `25`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"LAMBDA_TIMEOUT_GUARD"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#lambda-timeout-guard"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/retry-core/src/libs/errors/RetryInfrastructureProblem.ts"`; `kind`: `"problem-class"`; `line`: `39`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Forbidden"`; `code`: `"LAST_OWNER"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#last-owner"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The authenticated caller is not allowed to perform the requested action."`; `operatorAction`: `"Review policy, role, tenant, entitlement, and impersonation context."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Request the required permission or choose an allowed action."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/membership-core/src/libs/problems/MembershipProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `31`; \}\]; `status`: `403`; `title`: `"Forbidden"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"lifecycle-core/action-adapter-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#lifecycle-core-action-adapter-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/lifecycle-core/src/libs/problems/LifecycleProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `38`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"lifecycle-core/duplicate-rule"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#lifecycle-core-duplicate-rule"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/lifecycle-core/src/libs/problems/LifecycleProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `6`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"lifecycle-core/monetization-recipe-capability-missing"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#lifecycle-core-monetization-recipe-capability-missing"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/lifecycle-core/src/libs/problems/LifecycleProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `191`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"ValidationError"`; `code`: `"lifecycle-core/monetization-signal-invalid"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#lifecycle-core-monetization-signal-invalid"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/lifecycle-core/src/libs/problems/LifecycleProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `174`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"lifecycle-core/monetization-threshold-claim-unavailable"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#lifecycle-core-monetization-threshold-claim-unavailable"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/lifecycle-core/src/libs/problems/LifecycleProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `209`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"lifecycle-core/rule-action-contract-mismatch"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#lifecycle-core-rule-action-contract-mismatch"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/lifecycle-core/src/libs/problems/LifecycleProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `156`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"lifecycle-core/rule-command-conflict"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#lifecycle-core-rule-command-conflict"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/lifecycle-core/src/libs/problems/LifecycleProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `103`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"lifecycle-core/rule-definition-invalid"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#lifecycle-core-rule-definition-invalid"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/lifecycle-core/src/libs/problems/LifecycleProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `22`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"lifecycle-core/rule-transition-invalid"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#lifecycle-core-rule-transition-invalid"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/lifecycle-core/src/libs/problems/LifecycleProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `119`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"Conflict"`; `code`: `"lifecycle-core/rule-version-conflict"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#lifecycle-core-rule-version-conflict"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/lifecycle-core/src/libs/problems/LifecycleProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `85`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"lifecycle-core/rule-version-definition-invalid"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#lifecycle-core-rule-version-definition-invalid"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/lifecycle-core/src/libs/problems/LifecycleProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `139`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"lifecycle-core/rule-version-unavailable"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#lifecycle-core-rule-version-unavailable"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/lifecycle-core/src/libs/problems/LifecycleProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `67`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"NotFound"`; `code`: `"lifecycle-core/rule-version-unknown"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#lifecycle-core-rule-version-unknown"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/lifecycle-core/src/libs/problems/LifecycleProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `49`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"NotFound"`; `code`: `"LLM_PROVIDER_NOT_FOUND"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#llm-provider-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/llm-core/src/libs/problems/LlmProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `26`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"LLM_SERVICE_ERROR"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#llm-service-error"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/llm-core/src/libs/problems/LlmServiceProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `8`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"llm-core/invalid-llm-prompt"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#llm-core-invalid-llm-prompt"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/llm-core/src/libs/problems/LlmProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `102`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"llm-core/invalid-llm-response"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#llm-core-invalid-llm-response"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/llm-core/src/libs/problems/LlmProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `82`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"llm-core/llm-service-not-initialized"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#llm-core-llm-service-not-initialized"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/llm-core/src/libs/problems/LlmProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `92`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"llm-core/operation-aborted"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#llm-core-operation-aborted"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/llm-core/src/libs/problems/LlmProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `9`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"TooManyRequests"`; `code`: `"llm-core/rate-limit-exceeded"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#llm-core-rate-limit-exceeded"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller exceeded a rate, quota, or concurrency limit."`; `operatorAction`: `"Check limiter state, quota configuration, and abuse signals."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Wait for the retry window or reduce request volume."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/llm-core/src/libs/problems/LlmProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `60`; \}\]; `status`: `429`; `title`: `"Too Many Requests"`; \}, \{ `category`: `"Forbidden"`; `code`: `"llm-metering/cost-limit-exceeded"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#llm-metering-cost-limit-exceeded"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The authenticated caller is not allowed to perform the requested action."`; `operatorAction`: `"Review policy, role, tenant, entitlement, and impersonation context."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Request the required permission or choose an allowed action."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/llm-metering/src/libs/problems/LlmMeteringProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `41`; \}\]; `status`: `403`; `title`: `"Forbidden"`; \}, \{ `category`: `"NotFound"`; `code`: `"llm-metering/pricing-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#llm-metering-pricing-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/llm-metering/src/libs/problems/LlmMeteringProblems.ts"`; `kind`: `"problem-class"`; `line`: `58`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"Conflict"`; `code`: `"llm-metering/pricing-registry-conflict"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#llm-metering-pricing-registry-conflict"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/llm-metering/src/libs/problems/LlmMeteringProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `71`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"Forbidden"`; `code`: `"llm-metering/quota-exceeded"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#llm-metering-quota-exceeded"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The authenticated caller is not allowed to perform the requested action."`; `operatorAction`: `"Review policy, role, tenant, entitlement, and impersonation context."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Request the required permission or choose an allowed action."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/llm-metering/src/libs/problems/LlmMeteringProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `24`; \}\]; `status`: `403`; `title`: `"Forbidden"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"llm-metering/record-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#llm-metering-record-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/llm-metering/src/libs/problems/LlmMeteringProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `7`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"llm-openai/aborted"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#llm-openai-aborted"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/llm-openai/src/libs/problems/OpenAiProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `117`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"Unauthorized"`; `code`: `"llm-openai/authentication-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#llm-openai-authentication-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request did not include valid authentication credentials."`; `operatorAction`: `"Check authentication configuration, token issuer, and clock skew."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Sign in again or provide a valid credential."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/llm-openai/src/libs/problems/OpenAiProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `42`; \}\]; `status`: `401`; `title`: `"Unauthorized"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"llm-openai/invalid-response"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#llm-openai-invalid-response"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/llm-openai/src/libs/problems/OpenAiProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `135`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"llm-openai/missing-config"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#llm-openai-missing-config"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/llm-openai/src/libs/problems/OpenAiProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `24`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"TooManyRequests"`; `code`: `"llm-openai/rate-limited"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#llm-openai-rate-limited"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller exceeded a rate, quota, or concurrency limit."`; `operatorAction`: `"Check limiter state, quota configuration, and abuse signals."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Wait for the retry window or reduce request volume."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/llm-openai/src/libs/problems/OpenAiProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `57`; \}\]; `status`: `429`; `title`: `"Too Many Requests"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"llm-openai/retryable-upstream"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#llm-openai-retryable-upstream"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/llm-openai/src/libs/problems/OpenAiProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `72`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"llm-openai/terminal-upstream"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#llm-openai-terminal-upstream"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/llm-openai/src/libs/problems/OpenAiProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `87`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"llm-openai/validation-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#llm-openai-validation-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/llm-openai/src/libs/problems/OpenAiProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `102`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"Forbidden"`; `code`: `"MEMBERSHIP_CONSTRAINT"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#membership-constraint"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The authenticated caller is not allowed to perform the requested action."`; `operatorAction`: `"Review policy, role, tenant, entitlement, and impersonation context."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Request the required permission or choose an allowed action."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/membership-core/src/libs/problems/MembershipConstraintProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `9`; \}\]; `status`: `403`; `title`: `"Forbidden"`; \}, \{ `category`: `"NotFound"`; `code`: `"MEMBERSHIP_NOT_FOUND"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#membership-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/membership-core/src/libs/problems/MembershipProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `5`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"BadRequest"`; `code`: `"meta-vite/server-action-invalid-path"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#meta-vite-server-action-invalid-path"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/meta-vite/src/libs/actions/serverActions.ts"`; `kind`: `"problem-class"`; `line`: `80`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"NotFound"`; `code`: `"meta-vite/server-action-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#meta-vite-server-action-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/meta-vite/src/libs/actions/serverActions.ts"`; `kind`: `"problem-class"`; `line`: `66`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"ValidationError"`; `code`: `"meta-vite/server-action-validation-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#meta-vite-server-action-validation-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/meta-vite/src/libs/actions/serverActions.ts"`; `kind`: `"problem-class"`; `line`: `94`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"meter/insert-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#meter-insert-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `13`; `file`: `"packages/metering-drizzle/src/libs/DrizzleMeterRepository.ts"`; `kind`: `"problem-factory"`; `line`: `146`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"metering-drizzle/migration-query-result-unsupported"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#metering-drizzle-migration-query-result-unsupported"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `9`; `file`: `"packages/metering-drizzle/src/migrations/addUsageEnvelopeFields.ts"`; `kind`: `"problem-factory"`; `line`: `125`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"metering-drizzle/usage-envelope-not-configured"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#metering-drizzle-usage-envelope-not-configured"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/metering-drizzle/src/libs/problems/UsageEnvelopeConfigurationProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `6`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"metering-upstash/missing-config"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#metering-upstash-missing-config"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/metering-upstash/src/libs/problems/UpstashMeteringProblems.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"metering/atomic-quota-not-supported"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#metering-atomic-quota-not-supported"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/metering-core/src/libs/problems/AtomicQuotaNotSupportedProblem.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"metering/billable-usage-journal-required"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#metering-billable-usage-journal-required"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"A meter declares billing as required, but MeterRegistry validation cannot find a persistent BillableUsageJournal."`; `operatorAction`: `"Configure a persistent BillableUsageJournal before loadAll, lazy meter lookup, or registration validates a billing-required meter."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Do not retry with the same configuration; connect a persistent journal or change the meter billing contract first."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/metering-core/src/libs/problems/BillableUsageJournalRequiredProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `5`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"metering/duplicate-record"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#metering-duplicate-record"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/metering-core/src/libs/problems/DuplicateRecordProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `5`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"NotFound"`; `code`: `"metering/invalid-meter"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#metering-invalid-meter"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/metering-core/src/libs/problems/InvalidMeterProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `5`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"ValidationError"`; `code`: `"metering/invalid-meter-dimension"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#metering-invalid-meter-dimension"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/metering-core/src/libs/problems/InvalidMeterDimensionProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `6`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"metering/invalid-usage-envelope"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#metering-invalid-usage-envelope"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/metering-core/src/libs/problems/InvalidUsageEnvelopeProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `6`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"metering/invalid-usage-query"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#metering-invalid-usage-query"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/metering-core/src/libs/problems/InvalidUsageQueryProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `6`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"TooManyRequests"`; `code`: `"metering/quota-exceeded"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#metering-quota-exceeded"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller exceeded a rate, quota, or concurrency limit."`; `operatorAction`: `"Check limiter state, quota configuration, and abuse signals."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Wait for the retry window or reduce request volume."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/metering-core/src/libs/problems/QuotaExceededProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `9`; \}\]; `status`: `429`; `title`: `"Too Many Requests"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"metering/redis-error"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#metering-redis-error"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/metering-core/src/libs/problems/RedisProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `8`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"metering/transition-conflict"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#metering-transition-conflict"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/metering-core/src/libs/problems/MeteringTransitionProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `5`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"metrics-billing/metric-dropped"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#metrics-billing-metric-dropped"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Billing metrics could not be recorded because the referenced account, subscription, or plan evidence was missing."`; `operatorAction`: `"Use extensions.reason, tenantId, resourceId, and eventKey to rebuild the missing account, subscription, or plan before replay."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Restore the missing billing state identified by reason/resourceId, then replay the same billing event with the same event key."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/metrics-billing/src/libs/problems/BillingMetricsProblems.ts"`; `kind`: `"problem-class"`; `line`: `17`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"metrics-billing/recording-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#metrics-billing-recording-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/metrics-billing/src/libs/problems/BillingMetricsProblems.ts"`; `kind`: `"problem-class"`; `line`: `46`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"BusinessRuleViolation"`; `code`: `"metrics-core/carrying-capacity-simulation-error"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#metrics-core-carrying-capacity-simulation-error"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request is syntactically valid but violates a domain rule."`; `operatorAction`: `"Review domain policy, entitlement, quota, and lifecycle rule evidence."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Change the workflow state or request values so the business rule is satisfied."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/metrics-core/src/libs/problems/MetricsProblems.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `422`; `title`: `"Business Rule Violation"`; \}, \{ `category`: `"ValidationError"`; `code`: `"metrics-core/carrying-capacity-tenant-required"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#metrics-core-carrying-capacity-tenant-required"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/metrics-core/src/libs/problems/MetricsProblems.ts"`; `kind`: `"problem-class"`; `line`: `12`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"metrics-core/gross-margin-required"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#metrics-core-gross-margin-required"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/metrics-core/src/libs/problems/MetricsProblems.ts"`; `kind`: `"problem-class"`; `line`: `42`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"metrics-core/invalid-retention-movement"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#metrics-core-invalid-retention-movement"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/metrics-core/src/libs/problems/MetricsProblems.ts"`; `kind`: `"problem-class"`; `line`: `30`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"metrics-core/mixed-currency-mrr"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#metrics-core-mixed-currency-mrr"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/metrics-core/src/libs/problems/MetricsProblems.ts"`; `kind`: `"problem-class"`; `line`: `50`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"NotImplemented"`; `code`: `"metrics-core/retention-metrics-unavailable"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#metrics-core-retention-metrics-unavailable"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested capability is not supported by this runtime or adapter."`; `operatorAction`: `"Check runtime capability declarations and provider maturity documentation."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Use a supported capability or choose an adapter/runtime that provides it."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/metrics-core/src/libs/problems/MetricsProblems.ts"`; `kind`: `"problem-class"`; `line`: `20`; \}\]; `status`: `501`; `title`: `"Not Implemented"`; \}, \{ `category`: `"ValidationError"`; `code`: `"metrics-core/snapshot-tenant-required"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#metrics-core-snapshot-tenant-required"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/metrics-core/src/libs/SnapshotScheduler.ts"`; `kind`: `"problem-class"`; `line`: `19`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"MIDDLEWARE_EXECUTION_ERROR"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#middleware-execution-error"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/framework-context/src/libs/problems/MiddlewareProblems.ts"`; `kind`: `"problem-class"`; `line`: `7`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"migration-runner/database-url-required"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#migration-runner-database-url-required"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/migration-runner/src/libs/problems/DatabaseUrlRequiredProblem.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"migration-runner/file-load-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#migration-runner-file-load-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/migration-runner/src/libs/problems/MigrationFileLoadProblem.ts"`; `kind`: `"problem-class"`; `line`: `5`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"migration-runner/history-drift"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#migration-runner-history-drift"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Recorded migration history no longer matches the available migration files by stable id and name."`; `operatorAction`: `"Compare the checkpoint rows with version-controlled migration files, restore missing or renamed files when possible, and repair history only after verifying the deployed schema."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Restore the original migration file identity or ask an operator to perform an explicitly verified history repair."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/migration-runner/src/libs/problems/MigrationHistoryDriftProblem.ts"`; `kind`: `"problem-class"`; `line`: `16`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"BadRequest"`; `code`: `"migration-runner/invalid-count"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#migration-runner-invalid-count"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/migration-runner/src/libs/problems/InvalidMigrationCountProblem.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"ValidationError"`; `code`: `"migration-runner/missing-down-function"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#migration-runner-missing-down-function"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/migration-runner/src/libs/problems/MissingDownFunctionProblem.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"migration-runner/missing-up-function"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#migration-runner-missing-up-function"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/migration-runner/src/libs/problems/MissingUpFunctionProblem.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"migration-runner/transaction-required"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#migration-runner-transaction-required"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/migration-runner/src/libs/problems/MigrationTransactionRequiredProblem.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"migration-runner/unsupported-dialect"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#migration-runner-unsupported-dialect"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/migration-runner/src/libs/problems/UnsupportedDialectProblem.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"migration-runner/unsupported-query-result"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#migration-runner-unsupported-query-result"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/migration-runner/src/libs/problems/UnsupportedMigrationQueryResultProblem.ts"`; `kind`: `"problem-class"`; `line`: `11`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"MISSING_TENANT"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#missing-tenant"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/search-core/src/libs/problems/SearchProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `5`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"NotFound"`; `code`: `"MODEL_NOT_FOUND"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#model-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/llm-core/src/libs/problems/LlmServiceProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `25`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"Forbidden"`; `code`: `"NESTED_IMPERSONATION_NOT_ALLOWED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#nested-impersonation-not-allowed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The authenticated caller is not allowed to perform the requested action."`; `operatorAction`: `"Review policy, role, tenant, entitlement, and impersonation context."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Request the required permission or choose an allowed action."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/impersonation-core/src/libs/problems/ImpersonationProblems.ts"`; `kind`: `"problem-class"`; `line`: `31`; \}\]; `status`: `403`; `title`: `"Forbidden"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"notifications-core/default-provider-conflict"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#notifications-core-default-provider-conflict"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/notifications-core/src/libs/problems/NotificationProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `80`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"notifications-core/delivery-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#notifications-core-delivery-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/notifications-core/src/libs/problems/NotificationProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `169`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"notifications-core/idempotency-key-required"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#notifications-core-idempotency-key-required"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/notifications-core/src/libs/problems/NotificationProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `241`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"notifications-core/outbox-idempotency-mismatch"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#notifications-core-outbox-idempotency-mismatch"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/notifications-core/src/libs/problems/NotificationProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `257`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"notifications-core/preference-channel-mismatch"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#notifications-core-preference-channel-mismatch"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/notifications-core/src/libs/problems/NotificationProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `224`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"notifications-core/preference-context-required"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#notifications-core-preference-context-required"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/notifications-core/src/libs/problems/NotificationProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `208`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"BusinessRuleViolation"`; `code`: `"notifications-core/preference-denied"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#notifications-core-preference-denied"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request is syntactically valid but violates a domain rule."`; `operatorAction`: `"Review domain policy, entitlement, quota, and lifecycle rule evidence."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Change the workflow state or request values so the business rule is satisfied."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/notifications-core/src/libs/problems/NotificationProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `186`; \}\]; `status`: `422`; `title`: `"Business Rule Violation"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"notifications-core/provider-already-registered"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#notifications-core-provider-already-registered"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/notifications-core/src/libs/problems/NotificationProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `64`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"notifications-core/provider-channel-mismatch"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#notifications-core-provider-channel-mismatch"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/notifications-core/src/libs/problems/NotificationProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `102`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"notifications-core/provider-idempotency-unsupported"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#notifications-core-provider-idempotency-unsupported"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/notifications-core/src/libs/problems/NotificationProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `136`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"notifications-core/provider-not-configured"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#notifications-core-provider-not-configured"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/notifications-core/src/libs/problems/NotificationProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `32`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"notifications-core/provider-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#notifications-core-provider-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/notifications-core/src/libs/problems/NotificationProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `120`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"notifications-core/provider-not-registered"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#notifications-core-provider-not-registered"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/notifications-core/src/libs/problems/NotificationProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `48`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"notifications-core/send-max-attempts-invalid"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#notifications-core-send-max-attempts-invalid"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/notifications-core/src/libs/problems/NotificationProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `153`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"notifications-core/template-already-registered"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#notifications-core-template-already-registered"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/notifications-core/src/libs/problems/NotificationProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `273`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"NotFound"`; `code`: `"notifications-core/template-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#notifications-core-template-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/notifications-core/src/libs/problems/NotificationProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `291`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"ValidationError"`; `code`: `"notifications-core/template-variables-invalid"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#notifications-core-template-variables-invalid"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/notifications-core/src/libs/problems/NotificationProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `310`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"notifications-resend/idempotency-conflict"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#notifications-resend-idempotency-conflict"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Resend rejected reuse of an idempotency key for a different send request."`; `operatorAction`: `"Audit callers so each business send intent has one stable idempotency key."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Replay the original payload with the same key or use a new key for a changed send intent."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/notifications-resend/src/libs/problems/ResendNotificationProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `54`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"notifications-resend/missing-config"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#notifications-resend-missing-config"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Required Resend configuration is absent or blank before provider readiness can be proven."`; `operatorAction`: `"Check deployment env/config injection and verify diagnostics do not expose the raw key."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Configure RESEND_API_KEY and a verified default sender, then rerun diagnostics."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/notifications-resend/src/libs/problems/ResendNotificationProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `19`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"notifications-resend/retryable-upstream"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#notifications-resend-retryable-upstream"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Resend returned a transient status, rate limit, or network timeout."`; `operatorAction`: `"Check Resend status, rate limits, and retry-after/upstream status in telemetry."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry with the same idempotency key when the send intent is unchanged."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/notifications-resend/src/libs/problems/ResendNotificationProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `65`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"notifications-resend/terminal-upstream"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#notifications-resend-terminal-upstream"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Resend rejected the request with a non-retryable upstream failure."`; `operatorAction`: `"Inspect redacted upstream code/status and fix provider configuration before retrying."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Do not retry unchanged input; correct the API key, domain, sender verification, or request content."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/notifications-resend/src/libs/problems/ResendNotificationProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `76`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"notifications-resend/validation-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#notifications-resend-validation-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/notifications-resend/src/libs/problems/ResendNotificationProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `40`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"Unauthorized"`; `code`: `"onboarding/context-required"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#onboarding-context-required"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request did not include valid authentication credentials."`; `operatorAction`: `"Check authentication configuration, token issuer, and clock skew."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Sign in again or provide a valid credential."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/onboarding-core/src/libs/problems/OnboardingProblems.ts"`; `kind`: `"problem-class"`; `line`: `29`; \}\]; `status`: `401`; `title`: `"Unauthorized"`; \}, \{ `category`: `"NotFound"`; `code`: `"onboarding/definition-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#onboarding-definition-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/onboarding-core/src/libs/problems/OnboardingProblems.ts"`; `kind`: `"problem-class"`; `line`: `7`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"NotFound"`; `code`: `"onboarding/step-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#onboarding-step-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/onboarding-core/src/libs/problems/OnboardingProblems.ts"`; `kind`: `"problem-class"`; `line`: `18`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"ValidationError"`; `code`: `"openapi-spec/controller-typescript-diagnostics"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#openapi-spec-controller-typescript-diagnostics"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/openapi-spec/src/libs/loadControllers.ts"`; `kind`: `"problem-constructor"`; `line`: `70`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"openapi-spec/invalid-contract"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#openapi-spec-invalid-contract"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/openapi-spec/src/libs/emitOpenAPI.ts"`; `kind`: `"problem-constructor"`; `line`: `106`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"openapi-spec/no-rest-controllers-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#openapi-spec-no-rest-controllers-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/openapi-spec/src/libs/loadControllers.ts"`; `kind`: `"problem-constructor"`; `line`: `31`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"OTLP_ENDPOINT_REQUIRED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#otlp-endpoint-required"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/telemetry-sdk-node/src/libs/problems/TelemetryProblems.ts"`; `kind`: `"problem-class"`; `line`: `19`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"outbox-core/dispatch-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#outbox-core-dispatch-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/outbox-core/src/libs/problems/OutboxProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `86`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"outbox-core/failure-metadata-missing"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#outbox-core-failure-metadata-missing"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"A dispatcher attempted to mark an outbox record failed without the required retry metadata extensions."`; `operatorAction`: `"Audit dispatcher error mapping so every failure path preserves attempt, retryability, terminal state, and failedAt metadata."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Abort the dispatch attempt and pass an OutboxDispatchProblem or equivalent Problem with outbox retry metadata."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/outbox-core/src/libs/problems/OutboxProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `116`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"outbox-core/record-id-conflict"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#outbox-core-record-id-conflict"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"A caller tried to create an outbox record with an explicit id that already belongs to another idempotency scope."`; `operatorAction`: `"Inspect the producer id/idempotency assignment path and remove any shared id generator or manual id reuse."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Reuse the original idempotency key for the same intent or choose a new record id for a different intent."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/outbox-core/src/libs/problems/OutboxProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `103`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"outbox-core/unit-of-work-context-invalid"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#outbox-core-unit-of-work-context-invalid"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"An outbox write received a Unit of Work context that was missing, malformed, or created by another store instance."`; `operatorAction`: `"Check transaction boundary wiring so repository and outbox writes share the same store-owned Unit of Work client."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Abort the write and use the context supplied by the active TransactionalOutboxStore.runInUnitOfWork callback."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/outbox-core/src/libs/problems/OutboxProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `129`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Forbidden"`; `code`: `"OWNERSHIP_TRANSFER_REQUIRED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#ownership-transfer-required"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The authenticated caller is not allowed to perform the requested action."`; `operatorAction`: `"Review policy, role, tenant, entitlement, and impersonation context."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Request the required permission or choose an allowed action."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/membership-core/src/libs/problems/MembershipProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `65`; \}\]; `status`: `403`; `title`: `"Forbidden"`; \}, \{ `category`: `"BadRequest"`; `code`: `"problems-core/invalid-extensions"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#problems-core-invalid-extensions"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/problems-core/src/libs/problems/InvalidExtensionsProblem.ts"`; `kind`: `"problem-class"`; `line`: `5`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"BadRequest"`; `code`: `"problems-core/parse-error"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#problems-core-parse-error"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/problems-core/src/libs/problems/ProblemDetailsParseProblem.ts"`; `kind`: `"problem-class"`; `line`: `5`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"ValidationError"`; `code`: `"problems-core/problem-registry-invalid"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#problems-core-problem-registry-invalid"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/problems-core/src/libs/ProblemRegistry.ts"`; `kind`: `"problem-constructor"`; `line`: `210`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"problems-core/unhandled-category"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#problems-core-unhandled-category"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/problems-core/src/libs/ProblemCategoryMapper.ts"`; `kind`: `"problem-class"`; `line`: `19`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"protocols-core/contract-graph-diagnostics"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#protocols-core-contract-graph-diagnostics"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/protocols-core/src/libs/ContractGraph.ts"`; `kind`: `"problem-constructor"`; `line`: `160`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"protocols-graphql/auth-invalid-header-format"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#protocols-graphql-auth-invalid-header-format"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `13`; `file`: `"packages/protocols-graphql/src/libs/guards/AuthGuard.ts"`; `kind`: `"problem-factory"`; `line`: `71`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"BadRequest"`; `code`: `"protocols-graphql/auth-invalid-request"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#protocols-graphql-auth-invalid-request"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `13`; `file`: `"packages/protocols-graphql/src/libs/guards/AuthGuard.ts"`; `kind`: `"problem-factory"`; `line`: `54`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"Unauthorized"`; `code`: `"protocols-graphql/auth-invalid-token"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#protocols-graphql-auth-invalid-token"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request did not include valid authentication credentials."`; `operatorAction`: `"Check authentication configuration, token issuer, and clock skew."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Sign in again or provide a valid credential."`; \}; `sources`: readonly \[\{ `column`: `10`; `file`: `"packages/protocols-graphql/src/libs/guards/AuthGuard.ts"`; `kind`: `"problem-factory"`; `line`: `14`; \}\]; `status`: `401`; `title`: `"Unauthorized"`; \}, \{ `category`: `"Unauthorized"`; `code`: `"protocols-graphql/auth-missing-header"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#protocols-graphql-auth-missing-header"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request did not include valid authentication credentials."`; `operatorAction`: `"Check authentication configuration, token issuer, and clock skew."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Sign in again or provide a valid credential."`; \}; `sources`: readonly \[\{ `column`: `13`; `file`: `"packages/protocols-graphql/src/libs/guards/AuthGuard.ts"`; `kind`: `"problem-factory"`; `line`: `63`; \}\]; `status`: `401`; `title`: `"Unauthorized"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"protocols-graphql/auth-verifier-unavailable"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#protocols-graphql-auth-verifier-unavailable"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `13`; `file`: `"packages/protocols-graphql/src/libs/guards/AuthGuard.ts"`; `kind`: `"problem-factory"`; `line`: `97`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Forbidden"`; `code`: `"protocols-graphql/guard-denied"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#protocols-graphql-guard-denied"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The authenticated caller is not allowed to perform the requested action."`; `operatorAction`: `"Review policy, role, tenant, entitlement, and impersonation context."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Request the required permission or choose an allowed action."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/protocols-graphql/src/libs/problems/GuardProblems.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `403`; `title`: `"Forbidden"`; \}, \{ `category`: `"BadRequest"`; `code`: `"protocols-rest/auth-invalid-header-format"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#protocols-rest-auth-invalid-header-format"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `13`; `file`: `"packages/protocols-rest/src/libs/guards/AuthGuard.ts"`; `kind`: `"problem-factory"`; `line`: `77`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"BadRequest"`; `code`: `"protocols-rest/auth-invalid-request"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#protocols-rest-auth-invalid-request"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `13`; `file`: `"packages/protocols-rest/src/libs/guards/AuthGuard.ts"`; `kind`: `"problem-factory"`; `line`: `59`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"Unauthorized"`; `code`: `"protocols-rest/auth-invalid-token"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#protocols-rest-auth-invalid-token"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request did not include valid authentication credentials."`; `operatorAction`: `"Check authentication configuration, token issuer, and clock skew."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Sign in again or provide a valid credential."`; \}; `sources`: readonly \[\{ `column`: `10`; `file`: `"packages/protocols-rest/src/libs/guards/AuthGuard.ts"`; `kind`: `"problem-factory"`; `line`: `15`; \}\]; `status`: `401`; `title`: `"Unauthorized"`; \}, \{ `category`: `"Unauthorized"`; `code`: `"protocols-rest/auth-missing-header"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#protocols-rest-auth-missing-header"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request did not include valid authentication credentials."`; `operatorAction`: `"Check authentication configuration, token issuer, and clock skew."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Sign in again or provide a valid credential."`; \}; `sources`: readonly \[\{ `column`: `13`; `file`: `"packages/protocols-rest/src/libs/guards/AuthGuard.ts"`; `kind`: `"problem-factory"`; `line`: `69`; \}\]; `status`: `401`; `title`: `"Unauthorized"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"protocols-rest/auth-verifier-unavailable"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#protocols-rest-auth-verifier-unavailable"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `13`; `file`: `"packages/protocols-rest/src/libs/guards/AuthGuard.ts"`; `kind`: `"problem-factory"`; `line`: `102`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"protocols-rest/duplicate-parameter-index"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#protocols-rest-duplicate-parameter-index"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `13`; `file`: `"packages/protocols-rest/src/libs/metadata/MetadataReader.ts"`; `kind`: `"problem-factory"`; `line`: `48`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"protocols-rest/request-validation-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#protocols-rest-request-validation-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/protocols-rest/src/libs/validators/ValidationProblem.ts"`; `kind`: `"problem-class"`; `line`: `31`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"protocols-rest/response-validation-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#protocols-rest-response-validation-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/protocols-rest/src/libs/validators/ValidationProblem.ts"`; `kind`: `"problem-class"`; `line`: `54`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"protocols-rest/validation-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#protocols-rest-validation-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/protocols-rest/src/libs/validators/ValidationProblem.ts"`; `kind`: `"problem-class"`; `line`: `12`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"protocols-trpc/duplicate-parameter-index"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#protocols-trpc-duplicate-parameter-index"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `13`; `file`: `"packages/protocols-trpc/src/libs/TrpcParamResolver.ts"`; `kind`: `"problem-factory"`; `line`: `71`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"protocols-trpc/duplicate-procedure-name"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#protocols-trpc-duplicate-procedure-name"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Two controller routes resolve to the same tRPC domain and procedure name."`; `operatorAction`: `"Inspect the duplicate-procedure diagnostic for the existing and conflicting controller routes and their decorator source locations, then change one domain or controller method name."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Use an application build where every tRPC procedure has a unique domain and controller method name combination."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/protocols-trpc/src/libs/createTrpcRouter.ts"`; `kind`: `"problem-class"`; `line`: `93`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"protocols-trpc/provider-container-required"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#protocols-trpc-provider-container-required"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/protocols-trpc/src/libs/createTrpcRouter.ts"`; `kind`: `"problem-class"`; `line`: `77`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"protocols-trpc/request-normalization-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#protocols-trpc-request-normalization-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/protocols-trpc/src/libs/TrpcExecutionContext.ts"`; `kind`: `"problem-class"`; `line`: `51`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"protocols-trpc/request-unavailable"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#protocols-trpc-request-unavailable"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/protocols-trpc/src/libs/TrpcExecutionContext.ts"`; `kind`: `"problem-class"`; `line`: `42`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"protocols-trpc/route-handler-not-callable"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#protocols-trpc-route-handler-not-callable"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/protocols-trpc/src/libs/createTrpcRouter.ts"`; `kind`: `"problem-class"`; `line`: `64`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"PUBLIC_EMAIL_DOMAIN_NOT_ALLOWED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#public-email-domain-not-allowed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/invitation-core/src/libs/problems/DomainPolicyProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `5`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"TooManyRequests"`; `code`: `"RATE_LIMIT_EXCEEDED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#rate-limit-exceeded"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller exceeded a rate, quota, or concurrency limit."`; `operatorAction`: `"Check limiter state, quota configuration, and abuse signals."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Wait for the retry window or reduce request volume."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/ratelimit-core/src/libs/problems/RateLimitExceededProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `15`; \}\]; `status`: `429`; `title`: `"Too Many Requests"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"RATE_LIMIT_KEY_BUILDER_ERROR"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#rate-limit-key-builder-error"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/ratelimit-core/src/libs/problems/RateLimitConfigProblems.ts"`; `kind`: `"problem-class"`; `line`: `6`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"RATE_LIMIT_REFUND_UNSUPPORTED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#rate-limit-refund-unsupported"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/ratelimit-core/src/libs/problems/RateLimitConfigProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `43`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"RATE_LIMIT_WINDOW_ERROR"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#rate-limit-window-error"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/ratelimit-core/src/libs/problems/RateLimitConfigProblems.ts"`; `kind`: `"problem-class"`; `line`: `16`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"ratelimit-upstash/invalid-policy"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#ratelimit-upstash-invalid-policy"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/ratelimit-upstash/src/libs/problems/RateLimitUpstashProblems.ts"`; `kind`: `"problem-class"`; `line`: `7`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"ratelimit-upstash/missing-config"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#ratelimit-upstash-missing-config"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/ratelimit-upstash/src/libs/problems/RateLimitUpstashProblems.ts"`; `kind`: `"problem-class"`; `line`: `21`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"ratelimit/prune-interval"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#ratelimit-prune-interval"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/ratelimit-core/src/libs/problems/RateLimitConfigProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `27`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"repository-core/batch-load-result-identity-mismatch"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#repository-core-batch-load-result-identity-mismatch"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/repository-core/src/libs/problems/BatchLoadProblems.ts"`; `kind`: `"problem-class"`; `line`: `77`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"repository-core/batch-load-result-key-duplicate"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#repository-core-batch-load-result-key-duplicate"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/repository-core/src/libs/problems/BatchLoadProblems.ts"`; `kind`: `"problem-class"`; `line`: `57`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"repository-core/batch-load-result-key-unexpected"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#repository-core-batch-load-result-key-unexpected"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/repository-core/src/libs/problems/BatchLoadProblems.ts"`; `kind`: `"problem-class"`; `line`: `67`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"repository-core/batch-load-result-unkeyed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#repository-core-batch-load-result-unkeyed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/repository-core/src/libs/problems/BatchLoadProblems.ts"`; `kind`: `"problem-class"`; `line`: `43`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"repository-core/batch-loader-factory-not-registered"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#repository-core-batch-loader-factory-not-registered"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/repository-core/src/libs/problems/BatchLoadProblems.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"repository-core/batch-loader-factory-resolution-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#repository-core-batch-loader-factory-resolution-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/repository-core/src/libs/problems/BatchLoadProblems.ts"`; `kind`: `"problem-class"`; `line`: `17`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"repository-core/batch-loader-scope-collision"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#repository-core-batch-loader-scope-collision"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/repository-core/src/libs/problems/BatchLoadProblems.ts"`; `kind`: `"problem-class"`; `line`: `29`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"RESEND_NOTIFICATION_FAILED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#resend-notification-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/notifications-resend/src/libs/problems/ResendNotificationProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `87`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"RETRY_ABORTED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#retry-aborted"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/retry-core/src/libs/errors/RetryAbortedProblem.ts"`; `kind`: `"problem-class"`; `line`: `7`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"RETRY_CIRCUIT_BREAKER_INVALID_STATE"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#retry-circuit-breaker-invalid-state"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/retry-core/src/libs/errors/RetryInfrastructureProblem.ts"`; `kind`: `"problem-class"`; `line`: `13`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"RETRY_CIRCUIT_BREAKER_LOCK_FAILED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#retry-circuit-breaker-lock-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/retry-core/src/libs/errors/RetryInfrastructureProblem.ts"`; `kind`: `"problem-class"`; `line`: `26`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"RETRY_EXHAUSTED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#retry-exhausted"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/retry-core/src/libs/errors/RetryExhaustedProblem.ts"`; `kind`: `"problem-class"`; `line`: `7`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"retry-core/backoff-cancellation-unsupported"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#retry-core-backoff-cancellation-unsupported"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/retry-core/src/libs/errors/RetryCancellationUnsupportedProblem.ts"`; `kind`: `"problem-class"`; `line`: `7`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"retry-core/circuit-breaker-unexpected-state"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#retry-core-circuit-breaker-unexpected-state"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/retry-core/src/libs/problems/CircuitBreakerProblems.ts"`; `kind`: `"problem-class"`; `line`: `7`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"retry-core/success-hook-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#retry-core-success-hook-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The business callback completed successfully, but its onSuccess observation hook failed afterward."`; `operatorAction`: `"Inspect the original cause and repair the named onSuccess listener or telemetry path without replaying the completed callback."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Do not repeat the business operation from this failure; report the hook failure while preserving the successful callback outcome."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/retry-core/src/libs/errors/RetryInfrastructureProblem.ts"`; `kind`: `"problem-class"`; `line`: `75`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Forbidden"`; `code`: `"ROLE_HIERARCHY_VIOLATION"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#role-hierarchy-violation"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The authenticated caller is not allowed to perform the requested action."`; `operatorAction`: `"Review policy, role, tenant, entitlement, and impersonation context."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Request the required permission or choose an allowed action."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/membership-core/src/libs/problems/MembershipProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `52`; \}\]; `status`: `403`; `title`: `"Forbidden"`; \}, \{ `category`: `"ValidationError"`; `code`: `"rpc-codegen/controller-typescript-diagnostics"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#rpc-codegen-controller-typescript-diagnostics"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/rpc-codegen/src/libs/loadRoutes.ts"`; `kind`: `"problem-constructor"`; `line`: `75`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"rpc-codegen/invalid-contract"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#rpc-codegen-invalid-contract"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/rpc-codegen/src/libs/generate.ts"`; `kind`: `"problem-constructor"`; `line`: `110`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"rpc-codegen/no-rest-controllers-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#rpc-codegen-no-rest-controllers-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/rpc-codegen/src/libs/loadRoutes.ts"`; `kind`: `"problem-constructor"`; `line`: `36`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"ValidationError"`; `code`: `"rpc-codegen/unsupported-form-schema"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#rpc-codegen-unsupported-form-schema"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/rpc-codegen/src/libs/generate.ts"`; `kind`: `"problem-constructor"`; `line`: `116`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"Forbidden"`; `code`: `"saas-demo/demo-endpoint-disabled"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#saas-demo-demo-endpoint-disabled"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The authenticated caller is not allowed to perform the requested action."`; `operatorAction`: `"Review policy, role, tenant, entitlement, and impersonation context."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Request the required permission or choose an allowed action."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/create-croco-app/templates/saas/apps/api-server/src/problems.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `403`; `title`: `"Forbidden"`; \}, \{ `category`: `"ValidationError"`; `code`: `"saas-demo/invalid-jobs-query"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#saas-demo-invalid-jobs-query"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/create-croco-app/templates/saas/apps/api-server/src/problems.ts"`; `kind`: `"problem-class"`; `line`: `30`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"saas-demo/invalid-port"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#saas-demo-invalid-port"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/create-croco-app/templates/saas/apps/api-server/src/problems.ts"`; `kind`: `"problem-class"`; `line`: `17`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"NotFound"`; `code`: `"saas-demo/job-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#saas-demo-job-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/create-croco-app/templates/saas/apps/api-server/src/problems.ts"`; `kind`: `"problem-class"`; `line`: `39`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"saas-demo/smoke-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#saas-demo-smoke-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/create-croco-app/templates/saas/apps/api-server/src/problems.ts"`; `kind`: `"problem-class"`; `line`: `66`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"saas-demo/tenant-already-exists"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#saas-demo-tenant-already-exists"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/create-croco-app/templates/saas/apps/api-server/src/problems.ts"`; `kind`: `"problem-class"`; `line`: `48`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"NotFound"`; `code`: `"saas-demo/tenant-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#saas-demo-tenant-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/create-croco-app/templates/saas/apps/api-server/src/problems.ts"`; `kind`: `"problem-class"`; `line`: `57`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"NotImplemented"`; `code`: `"SEARCH_CAPABILITY_UNAVAILABLE"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#search-capability-unavailable"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested capability is not supported by this runtime or adapter."`; `operatorAction`: `"Check runtime capability declarations and provider maturity documentation."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Use a supported capability or choose an adapter/runtime that provides it."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/search-core/src/libs/problems/SearchProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `65`; \}\]; `status`: `501`; `title`: `"Not Implemented"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"SEARCH_DRIZZLE_INVALID_ROW"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#search-drizzle-invalid-row"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/search-drizzle/src/libs/problems/InvalidSearchRowProblem.ts"`; `kind`: `"problem-class"`; `line`: `7`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"search-core/sync-identity-conflict"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#search-core-sync-identity-conflict"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The event envelope tenant or document identity conflicts with context.tenantId, payload.id, or payload.tenantId."`; `operatorAction`: `"Use extensions.source to identify the conflicting field and verify envelope-authoritative tenant and document identity propagation."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Correct the conflicting event or execution context, then replay the event."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/search-core/src/libs/problems/SearchProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `23`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"NotFound"`; `code`: `"search-core/transform-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#search-core-transform-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/search-core/src/libs/problems/SearchProblems.ts"`; `kind`: `"problem-class"`; `line`: `35`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"NotFound"`; `code`: `"search-meilisearch/index-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#search-meilisearch-index-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/search-meilisearch/src/libs/problems/MeilisearchProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `80`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"ValidationError"`; `code`: `"search-meilisearch/invalid-request"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#search-meilisearch-invalid-request"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/search-meilisearch/src/libs/problems/MeilisearchProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `60`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"search-meilisearch/missing-config"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#search-meilisearch-missing-config"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/search-meilisearch/src/libs/problems/MeilisearchProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `39`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"search-meilisearch/retryable-upstream"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#search-meilisearch-retryable-upstream"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/search-meilisearch/src/libs/problems/MeilisearchProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `100`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"search-meilisearch/tenant-token-not-configured"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#search-meilisearch-tenant-token-not-configured"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/search-meilisearch/src/libs/problems/MeilisearchProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `140`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"search-meilisearch/terminal-upstream"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#search-meilisearch-terminal-upstream"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/search-meilisearch/src/libs/problems/MeilisearchProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `120`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Forbidden"`; `code`: `"SEAT_LIMIT_EXCEEDED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#seat-limit-exceeded"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The authenticated caller is not allowed to perform the requested action."`; `operatorAction`: `"Review policy, role, tenant, entitlement, and impersonation context."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Request the required permission or choose an allowed action."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/membership-core/src/libs/problems/MembershipProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `78`; \}\]; `status`: `403`; `title`: `"Forbidden"`; \}, \{ `category`: `"Forbidden"`; `code`: `"SELF_IMPERSONATION_NOT_ALLOWED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#self-impersonation-not-allowed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The authenticated caller is not allowed to perform the requested action."`; `operatorAction`: `"Review policy, role, tenant, entitlement, and impersonation context."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Request the required permission or choose an allowed action."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/impersonation-core/src/libs/problems/ImpersonationProblems.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `403`; `title`: `"Forbidden"`; \}, \{ `category`: `"ValidationError"`; `code`: `"starter/invalid-environment"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#starter-invalid-environment"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/create-croco-app/templates/spa-be-split/apps/api-server/src/problems.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"starter/unhandled-api-request"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#starter-unhandled-api-request"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/create-croco-app/templates/spa-be-split/apps/console-web/src/test/browser.ts"`; `kind`: `"problem-class"`; `line`: `8`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"NotFound"`; `code`: `"starter/user-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#starter-user-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/create-croco-app/templates/spa-be-split/apps/api-server/src/problems.ts"`; `kind`: `"problem-class"`; `line`: `13`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"STORAGE_DELETE_FAILED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#storage-delete-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/storage-core/src/libs/problems/DeleteFailedProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `8`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"NotFound"`; `code`: `"STORAGE_FILE_NOT_FOUND"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#storage-file-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/storage-core/src/libs/problems/FileNotFoundProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `11`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"BadRequest"`; `code`: `"STORAGE_INVALID_KEY"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#storage-invalid-key"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/storage-core/src/libs/problems/InvalidKeyProblem.ts"`; `kind`: `"problem-class"`; `line`: `5`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"BadRequest"`; `code`: `"STORAGE_INVALID_SIGNED_URL_EXPIRY"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#storage-invalid-signed-url-expiry"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/storage-core/src/libs/problems/InvalidSignedUrlExpiryProblem.ts"`; `kind`: `"problem-class"`; `line`: `9`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"STORAGE_R2_EMPTY_BODY"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#storage-r2-empty-body"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/storage-r2/src/libs/problems/EmptyR2BodyProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `9`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"STORAGE_R2_MISSING_CONFIG"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#storage-r2-missing-config"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/storage-r2/src/libs/problems/MissingR2ConfigProblem.ts"`; `kind`: `"problem-class"`; `line`: `8`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"STORAGE_R2_OBJECT_TOO_LARGE"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#storage-r2-object-too-large"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/storage-r2/src/libs/problems/R2ObjectTooLargeProblem.ts"`; `kind`: `"problem-class"`; `line`: `8`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"STORAGE_R2_READINESS_FAILED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#storage-r2-readiness-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/storage-r2/src/libs/problems/R2ReadinessProblem.ts"`; `kind`: `"problem-class"`; `line`: `14`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"STORAGE_UPLOAD_FAILED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#storage-upload-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/storage-core/src/libs/problems/UploadFailedProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `11`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"storage-cloudflare/missing-config"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#storage-cloudflare-missing-config"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/storage-cloudflare/src/libs/CloudflareImagesDiagnosticsProvider.ts"`; `kind`: `"problem-constructor"`; `line`: `37`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"storage-cloudflare/retryable-upstream"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#storage-cloudflare-retryable-upstream"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/storage-cloudflare/src/libs/CloudflareImagesDiagnosticsProvider.ts"`; `kind`: `"problem-constructor"`; `line`: `70`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"storage-cloudflare/terminal-upstream"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#storage-cloudflare-terminal-upstream"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/storage-cloudflare/src/libs/CloudflareImagesDiagnosticsProvider.ts"`; `kind`: `"problem-constructor"`; `line`: `86`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"storage-cloudflare/validation-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#storage-cloudflare-validation-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/storage-cloudflare/src/libs/CloudflareImagesDiagnosticsProvider.ts"`; `kind`: `"problem-constructor"`; `line`: `57`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"storage-cloudinary/invalid-upload-intent-ttl"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#storage-cloudinary-invalid-upload-intent-ttl"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `13`; `file`: `"packages/storage-cloudinary/src/libs/CloudinaryProvider.ts"`; `kind`: `"problem-factory"`; `line`: `332`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"storage-cloudinary/missing-config"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#storage-cloudinary-missing-config"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/storage-cloudinary/src/libs/CloudinaryDiagnosticsProvider.ts"`; `kind`: `"problem-constructor"`; `line`: `51`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"storage-cloudinary/retryable-upstream"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#storage-cloudinary-retryable-upstream"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/storage-cloudinary/src/libs/CloudinaryDiagnosticsProvider.ts"`; `kind`: `"problem-constructor"`; `line`: `84`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"storage-cloudinary/terminal-upstream"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#storage-cloudinary-terminal-upstream"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/storage-cloudinary/src/libs/CloudinaryDiagnosticsProvider.ts"`; `kind`: `"problem-constructor"`; `line`: `100`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"storage-cloudinary/validation-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#storage-cloudinary-validation-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/storage-cloudinary/src/libs/CloudinaryDiagnosticsProvider.ts"`; `kind`: `"problem-constructor"`; `line`: `71`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"storage/invalid-upload-intent-ttl"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#storage-invalid-upload-intent-ttl"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `13`; `file`: `"packages/storage-cloudflare/src/libs/CloudflareImagesProvider.ts"`; `kind`: `"problem-factory"`; `line`: `306`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"STRATEGY_UNAVAILABLE"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#strategy-unavailable"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/search-core/src/libs/problems/SearchProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `44`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"STRUCTURED_OUTPUT_ERROR"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#structured-output-error"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/llm-core/src/libs/problems/LlmServiceProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `52`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"tasks-core/duplicate-task-registration"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tasks-core-duplicate-task-registration"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/tasks-core/src/libs/problems/TasksProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `13`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"tasks-core/execution-timeout"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tasks-core-execution-timeout"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/tasks-core/src/libs/problems/TasksProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `46`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"NotFound"`; `code`: `"tasks-core/task-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tasks-core-task-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/tasks-core/src/libs/problems/TasksProblems.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"tasks-core/task-runner-di-failure"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tasks-core-task-runner-di-failure"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/tasks-core/src/libs/problems/TasksProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `29`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"tasks-qstash/invalid-publish-request"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tasks-qstash-invalid-publish-request"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/tasks-qstash/src/libs/problems/QStashTaskProblems.ts"`; `kind`: `"problem-class"`; `line`: `18`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"tasks-qstash/missing-config"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tasks-qstash-missing-config"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/tasks-qstash/src/libs/problems/QStashTaskProblems.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"TELEMETRY_AUTO_INSTRUMENTATION_INVALID_CONFIG"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#telemetry-auto-instrumentation-invalid-config"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/telemetry-sdk-node/src/libs/problems/TelemetryAutoInstrumentationProblem.ts"`; `kind`: `"problem-class"`; `line`: `7`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"NotImplemented"`; `code`: `"TELEMETRY_FORCE_FLUSH_UNSUPPORTED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#telemetry-force-flush-unsupported"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested capability is not supported by this runtime or adapter."`; `operatorAction`: `"Check runtime capability declarations and provider maturity documentation."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Use a supported capability or choose an adapter/runtime that provides it."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/telemetry-sdk-node/src/libs/problems/TelemetryProblems.ts"`; `kind`: `"problem-class"`; `line`: `101`; \}\]; `status`: `501`; `title`: `"Not Implemented"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"TELEMETRY_RUNTIME_ERROR"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#telemetry-runtime-error"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/telemetry-sdk-node/src/libs/problems/TelemetryProblems.ts"`; `kind`: `"problem-class"`; `line`: `114`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"TELEMETRY_SAMPLER_INVALID_CONFIG"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#telemetry-sampler-invalid-config"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/telemetry-sdk-node/src/libs/problems/TelemetryProblems.ts"`; `kind`: `"problem-class"`; `line`: `7`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"BadRequest"`; `code`: `"TELEMETRY_SIGNAL_UNSUPPORTED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#telemetry-signal-unsupported"`; `lifecycle`: \{ `deprecation`: \{ `migrationNote`: `"Stop branching on TELEMETRY_SIGNAL_UNSUPPORTED and remove metrics or logs options from TelemetryConfig consumers."`; `noReplacementReason`: `"The trace-only runtime has no unsupported signal configuration path to replace this code."`; `reason`: `"The telemetry SDK no longer exposes non-executable metrics or logs configuration."`; \}; `status`: `"deprecated"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/telemetry-sdk-node/src/libs/problems/TelemetryProblems.ts"`; `kind`: `"problem-class"`; `line`: `83`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"telemetry-sdk-node/batch-configuration-invalid"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#telemetry-sdk-node-batch-configuration-invalid"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"BatchSpanProcessor tuning violates the telemetry timeout, queue-size, or export-batch contract."`; `operatorAction`: `"Use the reported field and constraint to set batchTimeout within 0..2147483647, batchCount and batchSize within 1..2147483647, and batchSize no greater than batchCount."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Ask the operator to correct the telemetry batch configuration before restarting the service."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/telemetry-sdk-node/src/libs/problems/TelemetryProblems.ts"`; `kind`: `"problem-class"`; `line`: `42`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Forbidden"`; `code`: `"tenant-core/admin-bypass-reason-required"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tenant-core-admin-bypass-reason-required"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The authenticated caller is not allowed to perform the requested action."`; `operatorAction`: `"Review policy, role, tenant, entitlement, and impersonation context."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Request the required permission or choose an allowed action."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/tenant-core/src/libs/problems/TenantIsolationProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `60`; \}\]; `status`: `403`; `title`: `"Forbidden"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"tenant-core/cross-tenant-leak"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tenant-core-cross-tenant-leak"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/tenant-core/src/libs/problems/TenantIsolationProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `79`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"tenant-core/default-tenant-fallback"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tenant-core-default-tenant-fallback"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/tenant-core/src/libs/problems/TenantIsolationProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `48`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"tenant-core/duplicate-tenant-manager-registration"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tenant-core-duplicate-tenant-manager-registration"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/tenant-core/src/libs/problems/DuplicateTenantManagerRegistrationProblem.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Unauthorized"`; `code`: `"tenant-core/isolation-context-missing"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tenant-core-isolation-context-missing"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request did not include valid authentication credentials."`; `operatorAction`: `"Check authentication configuration, token issuer, and clock skew."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Sign in again or provide a valid credential."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/tenant-core/src/libs/problems/TenantIsolationProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `39`; \}\]; `status`: `401`; `title`: `"Unauthorized"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"tenant-core/tenant-manager-not-registered"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tenant-core-tenant-manager-not-registered"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/tenant-core/src/libs/problems/TenantManagerNotRegisteredProblem.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Forbidden"`; `code`: `"tenant-core/unsafe-query"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tenant-core-unsafe-query"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The authenticated caller is not allowed to perform the requested action."`; `operatorAction`: `"Review policy, role, tenant, entitlement, and impersonation context."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Request the required permission or choose an allowed action."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/tenant-core/src/libs/problems/TenantIsolationProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `69`; \}\]; `status`: `403`; `title`: `"Forbidden"`; \}, \{ `category`: `"NotFound"`; `code`: `"tenant/not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tenant-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/tenant-core/src/libs/problems/TenantNotFoundProblem.ts"`; `kind`: `"problem-class"`; `line`: `7`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"Unauthorized"`; `code`: `"tenant/required"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tenant-required"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request did not include valid authentication credentials."`; `operatorAction`: `"Check authentication configuration, token issuer, and clock skew."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Sign in again or provide a valid credential."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/tenant-core/src/libs/problems/TenantRequiredProblem.ts"`; `kind`: `"problem-class"`; `line`: `7`; \}\]; `status`: `401`; `title`: `"Unauthorized"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"testing-resources/cleanup-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#testing-resources-cleanup-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `12`; `file`: `"packages/testing-resources/src/libs/problems.ts"`; `kind`: `"problem-metadata"`; `line`: `17`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"testing-resources/health-check-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#testing-resources-health-check-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `19`; `file`: `"packages/testing-resources/src/libs/problems.ts"`; `kind`: `"problem-metadata"`; `line`: `13`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"testing-resources/invalid-configuration"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#testing-resources-invalid-configuration"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/testing-resources/src/libs/problems.ts"`; `kind`: `"problem-constructor"`; `line`: `25`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"testing-resources/migration-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#testing-resources-migration-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `14`; `file`: `"packages/testing-resources/src/libs/problems.ts"`; `kind`: `"problem-metadata"`; `line`: `9`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"testing-resources/startup-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#testing-resources-startup-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `12`; `file`: `"packages/testing-resources/src/libs/problems.ts"`; `kind`: `"problem-metadata"`; `line`: `5`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"testing/after-commit-hooks-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#testing-after-commit-hooks-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/testing/src/libs/testing.ts"`; `kind`: `"problem-constructor"`; `line`: `184`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"testing/telemetry-provider-already-installed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#testing-telemetry-provider-already-installed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/testing/src/libs/telemetry-testing.ts"`; `kind`: `"problem-constructor"`; `line`: `54`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"testing/test-kernel-disposal-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#testing-test-kernel-disposal-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/testing/src/libs/TestKernel.ts"`; `kind`: `"problem-constructor"`; `line`: `189`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"testing/test-kernel-disposed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#testing-test-kernel-disposed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/testing/src/libs/TestKernel.ts"`; `kind`: `"problem-constructor"`; `line`: `217`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"testing/test-kernel-leak"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#testing-test-kernel-leak"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/testing/src/libs/TestKernel.ts"`; `kind`: `"problem-constructor"`; `line`: `227`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"testing/test-kernel-outbound-call"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#testing-test-kernel-outbound-call"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/testing/src/libs/TestRuntime.ts"`; `kind`: `"problem-constructor"`; `line`: `49`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"testing/test-kernel-resource-fidelity"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#testing-test-kernel-resource-fidelity"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/testing/src/libs/TestKernel.ts"`; `kind`: `"problem-constructor"`; `line`: `238`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"testing/test-kernel-resource-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#testing-test-kernel-resource-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/testing/src/libs/TestKernel.ts"`; `kind`: `"problem-constructor"`; `line`: `254`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"testing/test-kernel-resource-registration"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#testing-test-kernel-resource-registration"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/testing/src/libs/TestKernel.ts"`; `kind`: `"problem-constructor"`; `line`: `267`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"testing/test-kernel-validation-policy"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#testing-test-kernel-validation-policy"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/testing/src/libs/TestKernel.ts"`; `kind`: `"problem-constructor"`; `line`: `176`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"testing/test-runtime-configuration"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#testing-test-runtime-configuration"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/testing/src/libs/TestRuntime.ts"`; `kind`: `"problem-constructor"`; `line`: `65`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"testing/test-runtime-drain-limit"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#testing-test-runtime-drain-limit"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/testing/src/libs/TestRuntime.ts"`; `kind`: `"problem-constructor"`; `line`: `76`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"testing/transaction-context-not-active"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#testing-transaction-context-not-active"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/testing/src/libs/testing.ts"`; `kind`: `"problem-constructor"`; `line`: `171`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"TOKEN_LIMIT_EXCEEDED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#token-limit-exceeded"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/llm-core/src/libs/problems/LlmProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `38`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"TOOL_EXECUTION_ERROR"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tool-execution-error"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/llm-core/src/libs/problems/LlmServiceProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `61`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"transports-graphql/request-body-aborted"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#transports-graphql-request-body-aborted"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/transports-graphql/src/libs/problems/GraphQLTransportProblems.ts"`; `kind`: `"problem-class"`; `line`: `47`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"PayloadTooLarge"`; `code`: `"transports-graphql/request-body-too-large"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#transports-graphql-request-body-too-large"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request body exceeded the configured byte limit."`; `operatorAction`: `"Confirm route body limits and upstream proxy limits match the intended upload policy."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Reduce the request body and retry."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/transports-graphql/src/libs/problems/GraphQLTransportProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `33`; \}\]; `status`: `413`; `title`: `"Payload Too Large"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"transports-graphql/resolvers-not-configured"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#transports-graphql-resolvers-not-configured"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/transports-graphql/src/libs/problems/GraphQLTransportProblems.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"transports-graphql/schema-not-configured"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#transports-graphql-schema-not-configured"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/transports-graphql/src/libs/problems/GraphQLTransportProblems.ts"`; `kind`: `"problem-class"`; `line`: `16`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"transports-graphql/server-not-initialized"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#transports-graphql-server-not-initialized"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/transports-graphql/src/libs/problems/GraphQLTransportProblems.ts"`; `kind`: `"problem-class"`; `line`: `24`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"transports-http/body-limit-invalid-configuration"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#transports-http-body-limit-invalid-configuration"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The HTTP body-limit middleware was configured with an invalid byte boundary."`; `operatorAction`: `"Set the body-limit value to a finite, nonnegative safe integer and restart the service."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Ask the operator to correct the service configuration before retrying."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/transports-http/src/libs/problems/HttpRequestBodyProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `15`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"transports-http/di-bootstrap-validation"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#transports-http-di-bootstrap-validation"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `11`; `file`: `"packages/transports-http/src/libs/CrocoApp.ts"`; `kind`: `"problem-factory"`; `line`: `315`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"transports-http/diagnostics-invalid-configuration"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#transports-http-diagnostics-invalid-configuration"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The operational diagnostics endpoint was configured with an invalid response-size limit."`; `operatorAction`: `"Set recentErrorLimit to a finite nonnegative safe integer and messageLimit to a finite positive safe integer, then restart the service."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Ask the operator to correct the service configuration before retrying."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/transports-http/src/libs/problems/DiagnosticsEndpointProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `22`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"transports-http/duplicate-health-check"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#transports-http-duplicate-health-check"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `10`; `file`: `"packages/transports-http/src/libs/HealthCheckRegistry.ts"`; `kind`: `"problem-factory"`; `line`: `71`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"transports-http/duplicate-route-definition"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#transports-http-duplicate-route-definition"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Two REST controller methods compile to the same HTTP method and runtime path."`; `operatorAction`: `"Inspect the duplicate-route diagnostic for the existing and conflicting controller methods and their route decorator source locations, then rename one route path or change one HTTP method."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Use an application build where every route decorator has a unique HTTP method and path combination."`; \}; `sources`: readonly \[\{ `column`: `15`; `file`: `"packages/transports-http/src/libs/RouteCompiler.ts"`; `kind`: `"problem-factory"`; `line`: `118`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"transports-http/graceful-shutdown-configuration"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#transports-http-graceful-shutdown-configuration"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Graceful shutdown was configured with a non-finite total or event-bus drain timeout."`; `operatorAction`: `"Set timeoutMs and eventBusDrainTimeoutMs to finite numbers, then reconstruct the middleware or controller before retrying shutdown."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Ask the operator to correct the graceful shutdown timeout configuration before reconstructing the HTTP application."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/transports-http/src/libs/problems/GracefulShutdownProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `20`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"transports-http/graceful-shutdown-timeout"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#transports-http-graceful-shutdown-timeout"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Graceful shutdown did not finish a phase before that phase's configured deadline elapsed."`; `operatorAction`: `"Inspect the reported phase, timeoutMs, and elapsedMs extensions, then investigate slow request handlers, event-bus draining, or shutdown hooks."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Wait for the stalled shutdown phase to be investigated before retrying; active requests or cleanup work may still be settling."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/transports-http/src/libs/problems/GracefulShutdownProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `47`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"transports-http/middleware-next-called-multiple-times"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#transports-http-middleware-next-called-multiple-times"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Compatibility metadata for the previous HTTP middleware multiple-next code. New runtime failures use CROCO_HTTP_MIDDLEWARE_002 and preserve this value as extensions.legacyCode."`; `operatorAction`: `"Update dashboards, alerts, and runbooks from transports-http/middleware-next-called-multiple-times to CROCO_HTTP_MIDDLEWARE_002 before removing legacy-code matching."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Migrate Problem.code matchers to CROCO_HTTP_MIDDLEWARE_002; use extensions.legacyCode only while rolling out compatibility changes."`; \}; `sources`: readonly \[\{ `column`: `49`; `file`: `"packages/transports-http/src/libs/CrocoRouteRegistrar.ts"`; `kind`: `"problem-metadata"`; `line`: `39`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"transports-http/pipe-resolution-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#transports-http-pipe-resolution-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `13`; `file`: `"packages/transports-http/src/libs/ParamResolver.ts"`; `kind`: `"problem-factory"`; `line`: `184`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"transports-http/provider-resolution-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#transports-http-provider-resolution-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `11`; `file`: `"packages/transports-http/src/libs/RouteCompiler.ts"`; `kind`: `"problem-factory"`; `line`: `70`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"transports-http/request-body-read-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#transports-http-request-body-read-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/transports-http/src/libs/problems/HttpRequestBodyProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `67`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"PayloadTooLarge"`; `code`: `"transports-http/request-body-too-large"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#transports-http-request-body-too-large"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request body exceeded the configured byte limit."`; `operatorAction`: `"Confirm route body limits and upstream proxy limits match the intended upload policy."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Reduce the request body and retry."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/transports-http/src/libs/problems/HttpRequestBodyProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `31`; \}\]; `status`: `413`; `statusPolicy`: \{ `configuration`: `"bodyLimitMiddleware.statusCode"`; `defaultStatus`: `413`; `kind`: `"runtime-configurable"`; \}; `title`: `"Payload Too Large"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"transports-http/request-body-unavailable"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#transports-http-request-body-unavailable"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/transports-http/src/libs/problems/HttpRequestBodyProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `52`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"transports-http/route-method-not-function"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#transports-http-route-method-not-function"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `17`; `file`: `"packages/transports-http/src/libs/RouteCompiler.ts"`; `kind`: `"problem-factory"`; `line`: `193`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"transports-http/runtime-capability-invalid"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#transports-http-runtime-capability-invalid"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/transports-http/src/libs/runtimeContext.ts"`; `kind`: `"problem-class"`; `line`: `101`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"transports-http/security-middleware-validation"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#transports-http-security-middleware-validation"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Compatibility metadata for the previous HTTP security middleware validation code. New runtime failures use CROCO_HTTP_SECURITY_001 and preserve this value as extensions.legacyCode."`; `operatorAction`: `"Update dashboards, alerts, and runbooks from transports-http/security-middleware-validation to CROCO_HTTP_SECURITY_001 before removing legacy-code matching."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Migrate Problem.code matchers to CROCO_HTTP_SECURITY_001; use extensions.legacyCode only while rolling out compatibility changes."`; \}; `sources`: readonly \[\{ `column`: `55`; `file`: `"packages/transports-http/src/libs/CrocoApp.ts"`; `kind`: `"problem-metadata"`; `line`: `88`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"transports-http/unsupported-route-method"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#transports-http-unsupported-route-method"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `15`; `file`: `"packages/transports-http/src/libs/CrocoRouteRegistrar.ts"`; `kind`: `"problem-factory"`; `line`: `245`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"triggers-core/duplicate-trigger-metadata"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#triggers-core-duplicate-trigger-metadata"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `17`; `file`: `"packages/triggers-core/src/libs/TriggerRegistry.ts"`; `kind`: `"problem-factory"`; `line`: `69`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"triggers-core/duplicate-trigger-metadata-entry"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#triggers-core-duplicate-trigger-metadata-entry"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `17`; `file`: `"packages/triggers-core/src/libs/TriggerRegistry.ts"`; `kind`: `"problem-factory"`; `line`: `121`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"triggers-qstash/duplicate-schedule-id"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#triggers-qstash-duplicate-schedule-id"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `15`; `file`: `"packages/triggers-qstash/src/libs/QStashScheduler.ts"`; `kind`: `"problem-factory"`; `line`: `253`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"triggers-qstash/execution-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#triggers-qstash-execution-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `13`; `file`: `"packages/triggers-qstash/src/libs/QStashTriggerHandler.ts"`; `kind`: `"problem-metadata"`; `line`: `264`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"triggers-qstash/service-resolution-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#triggers-qstash-service-resolution-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `15`; `file`: `"packages/triggers-qstash/src/libs/QStashTriggerHandler.ts"`; `kind`: `"problem-metadata"`; `line`: `254`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Forbidden"`; `code`: `"TRPC_ACCESS_DENIED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#trpc-access-denied"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The authenticated caller is not allowed to perform the requested action."`; `operatorAction`: `"Review policy, role, tenant, entitlement, and impersonation context."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Request the required permission or choose an allowed action."`; \}; `sources`: readonly \[\{ `column`: `15`; `file`: `"packages/protocols-trpc/src/libs/TrpcExecutionPipeline.ts"`; `kind`: `"problem-factory"`; `line`: `40`; \}\]; `status`: `403`; `title`: `"Forbidden"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"tx-core/after-commit-hooks-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tx-core-after-commit-hooks-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/tx-core/src/libs/problems/TransactionProblems.ts"`; `kind`: `"problem-class"`; `line`: `103`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"tx-core/after-commit-outcome-required"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tx-core-after-commit-outcome-required"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/tx-core/src/libs/problems/TransactionProblems.ts"`; `kind`: `"problem-class"`; `line`: `35`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"tx-core/after-commit-registration-closed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tx-core-after-commit-registration-closed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/tx-core/src/libs/problems/TransactionProblems.ts"`; `kind`: `"problem-class"`; `line`: `50`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"tx-core/decorator-misuse"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tx-core-decorator-misuse"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/tx-core/src/libs/problems/TransactionProblems.ts"`; `kind`: `"problem-class"`; `line`: `13`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"tx-core/detached-transaction-operation"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tx-core-detached-transaction-operation"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/tx-core/src/libs/problems/TransactionProblems.ts"`; `kind`: `"problem-class"`; `line`: `61`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"tx-core/duplicate-tx-manager-registration"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tx-core-duplicate-tx-manager-registration"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/tx-core/src/libs/errors.ts"`; `kind`: `"problem-class"`; `line`: `7`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"tx-core/invalid-transaction-timeout"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tx-core-invalid-transaction-timeout"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/tx-core/src/libs/problems/TransactionProblems.ts"`; `kind`: `"problem-class"`; `line`: `87`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"tx-core/manager-not-registered"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tx-core-manager-not-registered"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/tx-core/src/libs/errors.ts"`; `kind`: `"problem-class"`; `line`: `23`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"tx-core/missing-transaction-context"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tx-core-missing-transaction-context"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/tx-core/src/libs/problems/TransactionProblems.ts"`; `kind`: `"problem-class"`; `line`: `24`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"tx-core/outcome-requires-root"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tx-core-outcome-requires-root"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/tx-core/src/libs/problems/TransactionProblems.ts"`; `kind`: `"problem-class"`; `line`: `76`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"BusinessRuleViolation"`; `code`: `"tx-core/propagation-error"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tx-core-propagation-error"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request is syntactically valid but violates a domain rule."`; `operatorAction`: `"Review domain policy, entitlement, quota, and lifecycle rule evidence."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Change the workflow state or request values so the business rule is satisfied."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/tx-core/src/libs/errors.ts"`; `kind`: `"problem-class"`; `line`: `34`; \}\]; `status`: `422`; `title`: `"Business Rule Violation"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"tx-core/transaction-outcome-unknown"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tx-core-transaction-outcome-unknown"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/tx-core/src/libs/problems/TransactionProblems.ts"`; `kind`: `"problem-class"`; `line`: `165`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"tx-core/transaction-rollback-confirmed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tx-core-transaction-rollback-confirmed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/tx-core/src/libs/problems/TransactionProblems.ts"`; `kind`: `"problem-class"`; `line`: `147`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"tx-core/transaction-timeout"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tx-core-transaction-timeout"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/tx-core/src/libs/problems/TransactionProblems.ts"`; `kind`: `"problem-class"`; `line`: `130`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"tx-drizzle/rls-configuration-invalid"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tx-drizzle-rls-configuration-invalid"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"A PostgreSQL RLS helper received malformed static identifier or setting-key configuration."`; `operatorAction`: `"Use the reported field name and the @croco/tx-drizzle RLS contract to correct the configuration, then restart the service."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Ask the operator to correct the RLS configuration before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/tx-drizzle/src/libs/problems/TxDrizzleProblems.ts"`; `kind`: `"problem-class"`; `line`: `7`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"tx-drizzle/rls-debug-logging-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tx-drizzle-rls-debug-logging-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Requested RLS debug logging could not initialize or write its diagnostic event."`; `operatorAction`: `"Provide an RlsLogger or register the framework Logger, then verify its info() output path before retrying the transaction."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Ask the operator to restore the configured logger before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/tx-drizzle/src/libs/problems/TxDrizzleProblems.ts"`; `kind`: `"problem-class"`; `line`: `57`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"tx-drizzle/rls-execute-unsupported"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tx-drizzle-rls-execute-unsupported"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/tx-drizzle/src/libs/problems/TxDrizzleProblems.ts"`; `kind`: `"problem-class"`; `line`: `29`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"tx-drizzle/savepoint-unsupported"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tx-drizzle-savepoint-unsupported"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/tx-drizzle/src/libs/problems/TxDrizzleProblems.ts"`; `kind`: `"problem-class"`; `line`: `76`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"tx-drizzle/tenant-context-required"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tx-drizzle-tenant-context-required"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/tx-drizzle/src/libs/problems/TxDrizzleProblems.ts"`; `kind`: `"problem-class"`; `line`: `21`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Unauthorized"`; `code`: `"UNAUTHORIZED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#unauthorized"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request did not include valid authentication credentials."`; `operatorAction`: `"Check authentication configuration, token issuer, and clock skew."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Sign in again or provide a valid credential."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/auth-core/src/libs/problems/AuthProblems.ts"`; `kind`: `"problem-class"`; `line`: `5`; \}\]; `status`: `401`; `title`: `"Unauthorized"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"WEBHOOK_PROCESSING_FAILED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#webhook-processing-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-polar/src/libs/problems/WebhookProcessingProblem.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"WEBHOOK_VALIDATION_FAILED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#webhook-validation-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-polar/src/libs/problems/WebhookValidationProblem.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"webhooks-core/configuration"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#webhooks-core-configuration"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `11`; `file`: `"packages/webhooks-core/src/libs/problems/WebhookProblems.ts"`; `kind`: `"problem-metadata"`; `line`: `38`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"webhooks-core/dispatch-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#webhooks-core-dispatch-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `11`; `file`: `"packages/webhooks-core/src/libs/problems/WebhookProblems.ts"`; `kind`: `"problem-metadata"`; `line`: `117`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"webhooks-core/duplicate-event"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#webhooks-core-duplicate-event"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `11`; `file`: `"packages/webhooks-core/src/libs/problems/WebhookProblems.ts"`; `kind`: `"problem-metadata"`; `line`: `139`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"BadRequest"`; `code`: `"webhooks-core/invalid-envelope"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#webhooks-core-invalid-envelope"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `11`; `file`: `"packages/webhooks-core/src/libs/problems/WebhookProblems.ts"`; `kind`: `"problem-metadata"`; `line`: `74`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"BadRequest"`; `code`: `"webhooks-core/invalid-fixture"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#webhooks-core-invalid-fixture"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `11`; `file`: `"packages/webhooks-core/src/libs/problems/WebhookProblems.ts"`; `kind`: `"problem-metadata"`; `line`: `178`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"BadRequest"`; `code`: `"webhooks-core/invalid-signature"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#webhooks-core-invalid-signature"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `11`; `file`: `"packages/webhooks-core/src/libs/problems/WebhookProblems.ts"`; `kind`: `"problem-metadata"`; `line`: `54`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"Conflict"`; `code`: `"webhooks-core/outbound-acceptance-unknown"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#webhooks-core-outbound-acceptance-unknown"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/webhooks-core/src/libs/outbound/OutboundWebhookProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `97`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"webhooks-core/outbound-configuration"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#webhooks-core-outbound-configuration"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/webhooks-core/src/libs/outbound/OutboundWebhookProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `119`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"NotFound"`; `code`: `"webhooks-core/outbound-endpoint-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#webhooks-core-outbound-endpoint-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/webhooks-core/src/libs/outbound/OutboundWebhookProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `53`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"ValidationError"`; `code`: `"webhooks-core/outbound-invalid-event"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#webhooks-core-outbound-invalid-event"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/webhooks-core/src/libs/outbound/OutboundWebhookProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `31`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"webhooks-core/outbound-invalid-secret-version"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#webhooks-core-outbound-invalid-secret-version"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/webhooks-core/src/libs/outbound/OutboundWebhookProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `64`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"webhooks-core/outbound-invalid-url"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#webhooks-core-outbound-invalid-url"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/webhooks-core/src/libs/outbound/OutboundWebhookProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `42`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"BusinessRuleViolation"`; `code`: `"webhooks-core/outbound-permanent-failure"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#webhooks-core-outbound-permanent-failure"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request is syntactically valid but violates a domain rule."`; `operatorAction`: `"Review domain policy, entitlement, quota, and lifecycle rule evidence."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Change the workflow state or request values so the business rule is satisfied."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/webhooks-core/src/libs/outbound/OutboundWebhookProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `86`; \}\]; `status`: `422`; `title`: `"Business Rule Violation"`; \}, \{ `category`: `"Conflict"`; `code`: `"webhooks-core/outbound-replay-not-allowed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#webhooks-core-outbound-replay-not-allowed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/webhooks-core/src/libs/outbound/OutboundWebhookProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `108`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"webhooks-core/outbound-retryable-failure"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#webhooks-core-outbound-retryable-failure"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/webhooks-core/src/libs/outbound/OutboundWebhookProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `75`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"webhooks-core/reporter-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#webhooks-core-reporter-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `11`; `file`: `"packages/webhooks-core/src/libs/problems/WebhookProblems.ts"`; `kind`: `"problem-metadata"`; `line`: `162`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"webhooks-core/unknown-event"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#webhooks-core-unknown-event"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `11`; `file`: `"packages/webhooks-core/src/libs/problems/WebhookProblems.ts"`; `kind`: `"problem-metadata"`; `line`: `94`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"workflow-core/duplicate-workflow-registration"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#workflow-core-duplicate-workflow-registration"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/workflow-core/src/libs/problems/WorkflowProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `15`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"workflow-core/replay-unsupported"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#workflow-core-replay-unsupported"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/workflow-core/src/libs/problems/WorkflowProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `47`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"workflow-core/saga-definition-invalid"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#workflow-core-saga-definition-invalid"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/workflow-core/src/libs/problems/WorkflowProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `62`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"workflow-core/saga-execution-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#workflow-core-saga-execution-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/workflow-core/src/libs/problems/WorkflowProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `127`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"NotFound"`; `code`: `"workflow-core/saga-execution-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#workflow-core-saga-execution-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/workflow-core/src/libs/problems/WorkflowProblems.ts"`; `kind`: `"problem-class"`; `line`: `77`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"workflow-core/saga-replay-invalid"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#workflow-core-saga-replay-invalid"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/workflow-core/src/libs/problems/WorkflowProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `103`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"workflow-core/saga-store-conflict"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#workflow-core-saga-store-conflict"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/workflow-core/src/libs/problems/WorkflowProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `92`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"workflow-core/workflow-definition-invalid"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#workflow-core-workflow-definition-invalid"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/workflow-core/src/libs/problems/WorkflowProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `31`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"NotFound"`; `code`: `"workflow-core/workflow-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#workflow-core-workflow-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/workflow-core/src/libs/problems/WorkflowProblems.ts"`; `kind`: `"problem-class"`; `line`: `5`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}\]
+> `readonly` **problems**: readonly \[\{ `category`: `"Forbidden"`; `code`: `"ACCESS_DENIED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#access-denied"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The authenticated caller is not allowed to perform the requested action."`; `operatorAction`: `"Review policy, role, tenant, entitlement, and impersonation context."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Request the required permission or choose an allowed action."`; \}; `sources`: readonly \[\{ `column`: `15`; `file`: `"packages/transports-http/src/libs/PipelineRunner.ts"`; `kind`: `"problem-factory"`; `line`: `232`; \}\]; `status`: `403`; `title`: `"Forbidden"`; \}, \{ `category`: `"Forbidden"`; `code`: `"access-core/forbidden"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#access-core-forbidden"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The authenticated caller is not allowed to perform the requested action."`; `operatorAction`: `"Review policy, role, tenant, entitlement, and impersonation context."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Request the required permission or choose an allowed action."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/access-core/src/libs/guards/AccessGuard.ts"`; `kind`: `"problem-constructor"`; `line`: `17`; \}\]; `status`: `403`; `title`: `"Forbidden"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"ADMIN_LIFECYCLE_DEMO_INVARIANT"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#admin-lifecycle-demo-invariant"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/create-croco-app/templates/admin-console/apps/console-web/src/LifecycleAutomationDemo.tsx"`; `kind`: `"problem-constructor"`; `line`: `66`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"NotFound"`; `code`: `"admin-console/user-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#admin-console-user-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `79`; `file`: `"packages/create-croco-app/templates/admin-console/apps/api-server/src/controllers/adminSchemas.ts"`; `kind`: `"problem-metadata"`; `line`: `20`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"Forbidden"`; `code`: `"admin-core/credit-operations-permission-denied"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#admin-core-credit-operations-permission-denied"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The authenticated caller is not allowed to perform the requested action."`; `operatorAction`: `"Review policy, role, tenant, entitlement, and impersonation context."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Request the required permission or choose an allowed action."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/create-croco-app/templates/admin-console/apps/api-server/src/controllers/adminSchemas.ts"`; `kind`: `"problem-metadata"`; `line`: `40`; \}\]; `status`: `403`; `title`: `"Forbidden"`; \}, \{ `category`: `"ValidationError"`; `code`: `"admin-core/credit-operations-validation-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#admin-core-credit-operations-validation-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/admin-core/src/libs/CreditOperations.ts"`; `kind`: `"problem-constructor"`; `line`: `286`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"admin-core/resource-validation-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#admin-core-resource-validation-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/admin-core/src/libs/AdminResource.ts"`; `kind`: `"problem-constructor"`; `line`: `79`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"admin-core/webhook-action-validation-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#admin-core-webhook-action-validation-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/admin-core/src/libs/WebhookOperations.ts"`; `kind`: `"problem-constructor"`; `line`: `187`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"admin-generated/contract-diagnostics"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#admin-generated-contract-diagnostics"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/admin-generated/src/libs/generate.ts"`; `kind`: `"problem-constructor"`; `line`: `55`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"NotFound"`; `code`: `"ai-saas/model-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#ai-saas-model-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/create-croco-app/templates/ai-saas/apps/api-server/src/aiProblems.ts"`; `kind`: `"problem-class"`; `line`: `31`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"ValidationError"`; `code`: `"ai-saas/model-required"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#ai-saas-model-required"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/create-croco-app/templates/ai-saas/apps/api-server/src/aiProblems.ts"`; `kind`: `"problem-class"`; `line`: `22`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"ai-saas/provider-unavailable"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#ai-saas-provider-unavailable"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/create-croco-app/templates/ai-saas/apps/api-server/src/aiProblems.ts"`; `kind`: `"problem-class"`; `line`: `62`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"TooManyRequests"`; `code`: `"ai-saas/quota-exceeded"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#ai-saas-quota-exceeded"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller exceeded a rate, quota, or concurrency limit."`; `operatorAction`: `"Check limiter state, quota configuration, and abuse signals."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Wait for the retry window or reduce request volume."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/create-croco-app/templates/ai-saas/apps/api-server/src/aiProblems.ts"`; `kind`: `"problem-class"`; `line`: `40`; \}\]; `status`: `429`; `title`: `"Too Many Requests"`; \}, \{ `category`: `"TooManyRequests"`; `code`: `"ai-saas/rate-limit-exceeded"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#ai-saas-rate-limit-exceeded"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller exceeded a rate, quota, or concurrency limit."`; `operatorAction`: `"Check limiter state, quota configuration, and abuse signals."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Wait for the retry window or reduce request volume."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/create-croco-app/templates/ai-saas/apps/api-server/src/aiProblems.ts"`; `kind`: `"problem-class"`; `line`: `53`; \}\]; `status`: `429`; `title`: `"Too Many Requests"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"ai-saas/smoke-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#ai-saas-smoke-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/create-croco-app/templates/ai-saas/apps/api-server/src/aiProblems.ts"`; `kind`: `"problem-class"`; `line`: `75`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"NotFound"`; `code`: `"ai-saas/tenant-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#ai-saas-tenant-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/create-croco-app/templates/ai-saas/apps/api-server/src/aiProblems.ts"`; `kind`: `"problem-class"`; `line`: `13`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"ValidationError"`; `code`: `"ai-saas/tenant-required"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#ai-saas-tenant-required"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/create-croco-app/templates/ai-saas/apps/api-server/src/aiProblems.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"ALREADY_MEMBER"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#already-member"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/membership-core/src/libs/problems/MembershipProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `18`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"analytics-posthog/capture-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#analytics-posthog-capture-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/analytics-posthog/src/libs/problems/PostHogAnalyticsProblems.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"analytics-posthog/flush-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#analytics-posthog-flush-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/analytics-posthog/src/libs/problems/PostHogAnalyticsProblems.ts"`; `kind`: `"problem-class"`; `line`: `19`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"analytics-posthog/readiness-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#analytics-posthog-readiness-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/analytics-posthog/src/libs/problems/PostHogAnalyticsProblems.ts"`; `kind`: `"problem-class"`; `line`: `33`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Unauthorized"`; `code`: `"API_KEY_EXPIRED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#api-key-expired"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request did not include valid authentication credentials."`; `operatorAction`: `"Check authentication configuration, token issuer, and clock skew."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Sign in again or provide a valid credential."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/auth-core/src/libs/problems/AuthProblems.ts"`; `kind`: `"problem-class"`; `line`: `48`; \}\]; `status`: `401`; `title`: `"Unauthorized"`; \}, \{ `category`: `"NotFound"`; `code`: `"API_KEY_NOT_FOUND"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#api-key-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/auth-core/src/libs/apikey/problems/ApiKeyNotFoundProblem.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"Unauthorized"`; `code`: `"API_KEY_REVOKED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#api-key-revoked"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request did not include valid authentication credentials."`; `operatorAction`: `"Check authentication configuration, token issuer, and clock skew."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Sign in again or provide a valid credential."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/auth-core/src/libs/problems/AuthProblems.ts"`; `kind`: `"problem-class"`; `line`: `56`; \}\]; `status`: `401`; `title`: `"Unauthorized"`; \}, \{ `category`: `"ValidationError"`; `code`: `"architecture-policy/manifest-json-parse"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#architecture-policy-manifest-json-parse"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/architecture-policy/src/index.ts"`; `kind`: `"problem-constructor"`; `line`: `19`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"architecture-policy/manifest-schema-version"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#architecture-policy-manifest-schema-version"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/architecture-policy/src/index.ts"`; `kind`: `"problem-constructor"`; `line`: `30`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"architecture-policy/manifest-shape"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#architecture-policy-manifest-shape"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/architecture-policy/src/index.ts"`; `kind`: `"problem-constructor"`; `line`: `9`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"architecture-policy/package-json-parse"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#architecture-policy-package-json-parse"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/architecture-policy/src/index.ts"`; `kind`: `"problem-constructor"`; `line`: `46`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"audit-core/auditable-decorator-misuse"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#audit-core-auditable-decorator-misuse"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/audit-core/src/libs/problems/AuditableDecoratorProblem.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"audit/insert-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#audit-insert-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `13`; `file`: `"packages/audit-drizzle/src/libs/DrizzleAuditLogRepository.ts"`; `kind`: `"problem-factory"`; `line`: `137`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"auth-better-auth/authentication-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#auth-better-auth-authentication-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/auth-better-auth/src/libs/problems/BetterAuthAuthenticationProblem.ts"`; `kind`: `"problem-class"`; `line`: `8`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"auth-better-auth/invalid-session-payload"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#auth-better-auth-invalid-session-payload"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/auth-better-auth/src/libs/problems/BetterAuthInvalidSessionProblem.ts"`; `kind`: `"problem-class"`; `line`: `7`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"auth-better-auth/invalid-webhook-payload"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#auth-better-auth-invalid-webhook-payload"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/auth-better-auth/src/libs/problems/WebhookProblems.ts"`; `kind`: `"problem-class"`; `line`: `23`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"Unauthorized"`; `code`: `"auth-better-auth/invalid-webhook-signature"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#auth-better-auth-invalid-webhook-signature"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request did not include valid authentication credentials."`; `operatorAction`: `"Check authentication configuration, token issuer, and clock skew."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Sign in again or provide a valid credential."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/auth-better-auth/src/libs/problems/WebhookProblems.ts"`; `kind`: `"problem-class"`; `line`: `7`; \}\]; `status`: `401`; `title`: `"Unauthorized"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"auth-better-auth/not-initialized"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#auth-better-auth-not-initialized"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/auth-better-auth/src/libs/problems/AuthProblems.ts"`; `kind`: `"problem-class"`; `line`: `7`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"auth-better-auth/session-lookup-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#auth-better-auth-session-lookup-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/auth-better-auth/src/libs/problems/BetterAuthSessionLookupProblem.ts"`; `kind`: `"problem-class"`; `line`: `7`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"NotFound"`; `code`: `"auth-better-auth/session-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#auth-better-auth-session-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/auth-better-auth/src/libs/problems/AuthProblems.ts"`; `kind`: `"problem-class"`; `line`: `23`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"NotFound"`; `code`: `"auth-better-auth/user-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#auth-better-auth-user-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/auth-better-auth/src/libs/problems/AuthProblems.ts"`; `kind`: `"problem-class"`; `line`: `39`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"Conflict"`; `code`: `"auth-clerk/duplicate-tenant-mapping"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#auth-clerk-duplicate-tenant-mapping"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/auth-clerk/src/libs/problems/ClerkProblems.ts"`; `kind`: `"problem-class"`; `line`: `94`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"auth-clerk/external-service-error"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#auth-clerk-external-service-error"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/auth-clerk/src/libs/problems/ClerkProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `121`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"auth-clerk/invalid-webhook-payload"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#auth-clerk-invalid-webhook-payload"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/auth-clerk/src/libs/problems/ClerkProblems.ts"`; `kind`: `"problem-class"`; `line`: `19`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"Unauthorized"`; `code`: `"auth-clerk/malformed-claim"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#auth-clerk-malformed-claim"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request did not include valid authentication credentials."`; `operatorAction`: `"Check authentication configuration, token issuer, and clock skew."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Sign in again or provide a valid credential."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/auth-clerk/src/libs/problems/ClerkProblems.ts"`; `kind`: `"problem-class"`; `line`: `83`; \}\]; `status`: `401`; `title`: `"Unauthorized"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"auth-clerk/public-user-data-missing"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#auth-clerk-public-user-data-missing"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/auth-clerk/src/libs/problems/ClerkProblems.ts"`; `kind`: `"problem-class"`; `line`: `109`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Unauthorized"`; `code`: `"auth-clerk/token-verification-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#auth-clerk-token-verification-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request did not include valid authentication credentials."`; `operatorAction`: `"Check authentication configuration, token issuer, and clock skew."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Sign in again or provide a valid credential."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/auth-clerk/src/libs/problems/ClerkProblems.ts"`; `kind`: `"problem-class"`; `line`: `36`; \}\]; `status`: `401`; `title`: `"Unauthorized"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"auth-clerk/token-verification-upstream-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#auth-clerk-token-verification-upstream-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/auth-clerk/src/libs/problems/ClerkProblems.ts"`; `kind`: `"problem-class"`; `line`: `60`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Unauthorized"`; `code`: `"auth-clerk/webhook-verification-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#auth-clerk-webhook-verification-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request did not include valid authentication credentials."`; `operatorAction`: `"Check authentication configuration, token issuer, and clock skew."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Sign in again or provide a valid credential."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/auth-clerk/src/libs/problems/ClerkProblems.ts"`; `kind`: `"problem-class"`; `line`: `8`; \}\]; `status`: `401`; `title`: `"Unauthorized"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"auth-core/api-key-creation-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#auth-core-api-key-creation-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/auth-core/src/libs/problems/AuthProblems.ts"`; `kind`: `"problem-class"`; `line`: `80`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"auth-core/api-key-rotation-conflict"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#auth-core-api-key-rotation-conflict"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/auth-core/src/libs/problems/AuthProblems.ts"`; `kind`: `"problem-class"`; `line`: `88`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"auth-core/api-key-rotation-protection-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#auth-core-api-key-rotation-protection-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/auth-core/src/libs/apikey/ApiKeyRotationProtector.ts"`; `kind`: `"problem-constructor"`; `line`: `28`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"auth-core/auth-provider-unavailable"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#auth-core-auth-provider-unavailable"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/auth-core/src/libs/problems/AuthProblems.ts"`; `kind`: `"problem-class"`; `line`: `21`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"auth-core/invalid-api-key-rotation-idempotency-key"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#auth-core-invalid-api-key-rotation-idempotency-key"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/auth-core/src/libs/problems/AuthProblems.ts"`; `kind`: `"problem-class"`; `line`: `96`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"auth-core/invalid-permission-action"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#auth-core-invalid-permission-action"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/auth-core/src/libs/problems/AuthProblems.ts"`; `kind`: `"problem-class"`; `line`: `72`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"auth-core/invalid-permission-format"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#auth-core-invalid-permission-format"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/auth-core/src/libs/problems/AuthProblems.ts"`; `kind`: `"problem-class"`; `line`: `64`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"auth-core/invalid-route-metadata-target"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#auth-core-invalid-route-metadata-target"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"An authentication guard received a route metadata target that was neither an object nor a function."`; `operatorAction`: `"Inspect the route adapter metadata target and ensure it returns the controller object or constructor before handling requests."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Do not retry the unchanged request; ask the service operator to correct the route metadata configuration."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/auth-core/src/libs/problems/AuthProblems.ts"`; `kind`: `"problem-class"`; `line`: `35`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"BAD_REQUEST"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#bad-request"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/access-core/src/libs/guards/AccessGuard.ts"`; `kind`: `"problem-constructor"`; `line`: `11`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"BadRequest"`; `code`: `"batch-qstash/invalid-publish-request"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#batch-qstash-invalid-publish-request"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/batch-qstash/src/libs/problems/QStashBatchProblems.ts"`; `kind`: `"problem-class"`; `line`: `18`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"batch-qstash/missing-config"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#batch-qstash-missing-config"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/batch-qstash/src/libs/problems/QStashBatchProblems.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"BILLING_STATUS_MAPPING_FAILED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-status-mapping-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-polar/src/libs/problems/BillingStatusMappingProblem.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"billing-polar/checkout-idempotency-conflict"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-polar-checkout-idempotency-conflict"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/billing-polar/src/libs/problems/PolarBillingProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `89`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"NotFound"`; `code`: `"billing-polar/customer-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-polar-customer-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/billing-polar/src/libs/problems/PolarBillingProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `107`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"billing-polar/missing-config"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-polar-missing-config"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/billing-polar/src/libs/problems/PolarBillingProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `18`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"billing-polar/retryable-upstream"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-polar-retryable-upstream"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/billing-polar/src/libs/problems/PolarBillingProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `133`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"NotFound"`; `code`: `"billing-polar/subscription-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-polar-subscription-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/billing-polar/src/libs/problems/PolarBillingProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `120`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"billing-polar/terminal-upstream"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-polar-terminal-upstream"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/billing-polar/src/libs/problems/PolarBillingProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `149`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"NotFound"`; `code`: `"billing-polar/usage-customer-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-polar-usage-customer-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/billing-polar/src/libs/problems/PolarBillingProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `69`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"ValidationError"`; `code`: `"billing-polar/usage-meter-mapping-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-polar-usage-meter-mapping-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/billing-polar/src/libs/problems/PolarBillingProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `51`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"billing-polar/validation-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-polar-validation-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/billing-polar/src/libs/problems/PolarBillingProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `38`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"NotFound"`; `code`: `"billing/account-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-account-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/BillingProblems.ts"`; `kind`: `"problem-class"`; `line`: `32`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"billing/checkout-creation-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-checkout-creation-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/BillingProblems.ts"`; `kind`: `"problem-class"`; `line`: `92`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"billing/checkout-in-progress"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-checkout-in-progress"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/BillingProblems.ts"`; `kind`: `"problem-class"`; `line`: `100`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"BadRequest"`; `code`: `"billing/invalid-lifecycle-idempotency-key"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-invalid-lifecycle-idempotency-key"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/BillingProblems.ts"`; `kind`: `"problem-class"`; `line`: `80`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"BadRequest"`; `code`: `"billing/invalid-money-amount"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-invalid-money-amount"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/BillingProblems.ts"`; `kind`: `"problem-class"`; `line`: `113`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"BadRequest"`; `code`: `"billing/invalid-money-currency"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-invalid-money-currency"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/BillingProblems.ts"`; `kind`: `"problem-class"`; `line`: `121`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"BadRequest"`; `code`: `"billing/invalid-plan-release-schedule"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-invalid-plan-release-schedule"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/PlanReleaseProblems.ts"`; `kind`: `"problem-class"`; `line`: `69`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"BusinessRuleViolation"`; `code`: `"billing/invalid-plan-release-transition"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-invalid-plan-release-transition"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request is syntactically valid but violates a domain rule."`; `operatorAction`: `"Review domain policy, entitlement, quota, and lifecycle rule evidence."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Change the workflow state or request values so the business rule is satisfied."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/PlanReleaseProblems.ts"`; `kind`: `"problem-class"`; `line`: `21`; \}\]; `status`: `422`; `title`: `"Business Rule Violation"`; \}, \{ `category`: `"BadRequest"`; `code`: `"billing/invalid-plan-version-definition"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-invalid-plan-version-definition"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/BillingProblems.ts"`; `kind`: `"problem-class"`; `line`: `157`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"BadRequest"`; `code`: `"billing/invalid-plan-version-ref"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-invalid-plan-version-ref"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/BillingProblems.ts"`; `kind`: `"problem-class"`; `line`: `149`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"BadRequest"`; `code`: `"billing/invalid-subscription-quantity"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-invalid-subscription-quantity"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/BillingProblems.ts"`; `kind`: `"problem-class"`; `line`: `216`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"Conflict"`; `code`: `"billing/lifecycle-command-conflict"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-lifecycle-command-conflict"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/BillingProblems.ts"`; `kind`: `"problem-class"`; `line`: `48`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"Conflict"`; `code`: `"billing/lifecycle-command-in-progress"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-lifecycle-command-in-progress"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/BillingProblems.ts"`; `kind`: `"problem-class"`; `line`: `60`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"NotFound"`; `code`: `"billing/lifecycle-command-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-lifecycle-command-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/BillingProblems.ts"`; `kind`: `"problem-class"`; `line`: `72`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"BusinessRuleViolation"`; `code`: `"billing/money-currency-mismatch"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-money-currency-mismatch"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request is syntactically valid but violates a domain rule."`; `operatorAction`: `"Review domain policy, entitlement, quota, and lifecycle rule evidence."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Change the workflow state or request values so the business rule is satisfied."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/BillingProblems.ts"`; `kind`: `"problem-class"`; `line`: `129`; \}\]; `status`: `422`; `title`: `"Business Rule Violation"`; \}, \{ `category`: `"BadRequest"`; `code`: `"billing/money-division-by-zero"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-money-division-by-zero"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/BillingProblems.ts"`; `kind`: `"problem-class"`; `line`: `141`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"Conflict"`; `code`: `"billing/overlapping-plan-effective-period"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-overlapping-plan-effective-period"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/PlanReleaseProblems.ts"`; `kind`: `"problem-class"`; `line`: `34`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"ValidationError"`; `code`: `"billing/plan-release-provider-capability-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-plan-release-provider-capability-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/PlanReleaseProblems.ts"`; `kind`: `"problem-class"`; `line`: `58`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"billing/plan-release-publish-conflict"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-plan-release-publish-conflict"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/PlanReleaseProblems.ts"`; `kind`: `"problem-class"`; `line`: `78`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"ValidationError"`; `code`: `"billing/plan-release-validation-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-plan-release-validation-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/PlanReleaseProblems.ts"`; `kind`: `"problem-class"`; `line`: `47`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"billing/plan-version-already-published"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-plan-version-already-published"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/BillingProblems.ts"`; `kind`: `"problem-class"`; `line`: `165`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"Conflict"`; `code`: `"billing/plan-version-conflict"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-plan-version-conflict"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/BillingProblems.ts"`; `kind`: `"problem-class"`; `line`: `173`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"NotImplemented"`; `code`: `"billing/provider-capability-unavailable"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-provider-capability-unavailable"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested capability is not supported by this runtime or adapter."`; `operatorAction`: `"Check runtime capability declarations and provider maturity documentation."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Use a supported capability or choose an adapter/runtime that provides it."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/BillingProblems.ts"`; `kind`: `"problem-class"`; `line`: `6`; \}\]; `status`: `501`; `title`: `"Not Implemented"`; \}, \{ `category`: `"Conflict"`; `code`: `"billing/stale-plan-release-revision"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-stale-plan-release-revision"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/PlanReleaseProblems.ts"`; `kind`: `"problem-class"`; `line`: `7`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"NotFound"`; `code`: `"billing/subscription-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-subscription-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/BillingProblems.ts"`; `kind`: `"problem-class"`; `line`: `24`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"BusinessRuleViolation"`; `code`: `"billing/subscription-plan-version-mismatch"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-subscription-plan-version-mismatch"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request is syntactically valid but violates a domain rule."`; `operatorAction`: `"Review domain policy, entitlement, quota, and lifecycle rule evidence."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Change the workflow state or request values so the business rule is satisfied."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/BillingProblems.ts"`; `kind`: `"problem-class"`; `line`: `203`; \}\]; `status`: `422`; `title`: `"Business Rule Violation"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"billing/subscription-quantity-provider-mismatch"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-subscription-quantity-provider-mismatch"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/BillingProblems.ts"`; `kind`: `"problem-class"`; `line`: `262`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"billing/subscription-quantity-provider-source-ahead"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-subscription-quantity-provider-source-ahead"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/BillingProblems.ts"`; `kind`: `"problem-class"`; `line`: `275`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"Conflict"`; `code`: `"billing/subscription-quantity-reconciliation-conflict"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-subscription-quantity-reconciliation-conflict"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/BillingProblems.ts"`; `kind`: `"problem-class"`; `line`: `241`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"billing/subscription-quantity-reconciliation-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-subscription-quantity-reconciliation-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/BillingProblems.ts"`; `kind`: `"problem-class"`; `line`: `251`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"billing/subscription-quantity-source-mismatch"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-subscription-quantity-source-mismatch"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/BillingProblems.ts"`; `kind`: `"problem-class"`; `line`: `224`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"NotFound"`; `code`: `"billing/unknown-plan-version"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-unknown-plan-version"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/BillingProblems.ts"`; `kind`: `"problem-class"`; `line`: `181`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"NotFound"`; `code`: `"billing/unknown-provider-plan-mapping"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-unknown-provider-plan-mapping"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/BillingProblems.ts"`; `kind`: `"problem-class"`; `line`: `189`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"Conflict"`; `code`: `"billing/webhook-already-processed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#billing-webhook-already-processed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-core/src/libs/problems/BillingProblems.ts"`; `kind`: `"problem-class"`; `line`: `40`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"Forbidden"`; `code`: `"BLOCKED_DURING_IMPERSONATION"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#blocked-during-impersonation"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The authenticated caller is not allowed to perform the requested action."`; `operatorAction`: `"Review policy, role, tenant, entitlement, and impersonation context."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Request the required permission or choose an allowed action."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/impersonation-core/src/libs/problems/ImpersonationProblems.ts"`; `kind`: `"problem-class"`; `line`: `49`; \}\]; `status`: `403`; `title`: `"Forbidden"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"cache-core/invalid-configuration"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#cache-core-invalid-configuration"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/cache-core/src/libs/problems/CacheStoreProblems.ts"`; `kind`: `"problem-class"`; `line`: `12`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"cache-core/invalid-decorator-config"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#cache-core-invalid-decorator-config"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/cache-core/src/libs/problems/CacheDecoratorProblems.ts"`; `kind`: `"problem-class"`; `line`: `12`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"cache-core/invalid-ttl"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#cache-core-invalid-ttl"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/cache-core/src/libs/problems/CacheStoreProblems.ts"`; `kind`: `"problem-class"`; `line`: `35`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"cache-core/invalidation-assertion-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#cache-core-invalidation-assertion-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/cache-core/src/libs/problems/CacheDecoratorProblems.ts"`; `kind`: `"problem-class"`; `line`: `102`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"cache-core/invalidation-capability-unsupported"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#cache-core-invalidation-capability-unsupported"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/cache-core/src/libs/problems/CacheDecoratorProblems.ts"`; `kind`: `"problem-class"`; `line`: `55`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"cache-core/invalidation-event-unknown"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#cache-core-invalidation-event-unknown"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/cache-core/src/libs/problems/CacheDecoratorProblems.ts"`; `kind`: `"problem-class"`; `line`: `41`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"cache-core/invalidation-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#cache-core-invalidation-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/cache-core/src/libs/problems/CacheDecoratorProblems.ts"`; `kind`: `"problem-class"`; `line`: `72`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"cache-core/invalidation-graph-invalid"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#cache-core-invalidation-graph-invalid"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/cache-core/src/libs/problems/CacheDecoratorProblems.ts"`; `kind`: `"problem-class"`; `line`: `27`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"TooManyRequests"`; `code`: `"CIRCUIT_BREAKER_OPEN"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#circuit-breaker-open"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller exceeded a rate, quota, or concurrency limit."`; `operatorAction`: `"Check limiter state, quota configuration, and abuse signals."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Wait for the retry window or reduce request volume."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/retry-core/src/libs/errors/CircuitBreakerOpenProblem.ts"`; `kind`: `"problem-class"`; `line`: `7`; \}\]; `status`: `429`; `title`: `"Too Many Requests"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"cloudflare/images-invalid-ttl"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#cloudflare-images-invalid-ttl"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `13`; `file`: `"packages/storage-cloudflare/src/libs/CloudflareImagesProvider.ts"`; `kind`: `"problem-factory"`; `line`: `55`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"cloudflare/images-null-result"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#cloudflare-images-null-result"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `13`; `file`: `"packages/storage-cloudflare/src/libs/CloudflareImagesProvider.ts"`; `kind`: `"problem-factory"`; `line`: `278`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"cloudflare/images-upload-intent-null-result"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#cloudflare-images-upload-intent-null-result"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `13`; `file`: `"packages/storage-cloudflare/src/libs/CloudflareImagesProvider.ts"`; `kind`: `"problem-factory"`; `line`: `354`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"CONFLICTING_PAGINATION"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#conflicting-pagination"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/pagination-core/src/libs/problems.ts"`; `kind`: `"problem-class"`; `line`: `17`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"ValidationError"`; `code`: `"create-croco-app/directory-not-empty"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#create-croco-app-directory-not-empty"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/create-croco-app/src/libs/problems/DirectoryNotEmptyProblem.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"create-croco-app/invalid-cli-option"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#create-croco-app-invalid-cli-option"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/create-croco-app/src/libs/problems/InvalidCliOptionProblem.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"create-croco-app/invalid-goal-option"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#create-croco-app-invalid-goal-option"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/create-croco-app/src/libs/problems/InvalidGoalOptionProblem.ts"`; `kind`: `"problem-class"`; `line`: `5`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"create-croco-app/invalid-saas-preset-option"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#create-croco-app-invalid-saas-preset-option"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/create-croco-app/src/libs/problems/InvalidSaasPresetOptionProblem.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"create-croco-app/lambda-telemetry-boundary"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#create-croco-app-lambda-telemetry-boundary"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/create-croco-app/templates/addons/lambda/apps/graphql-api/src/telemetryFlush.ts"`; `kind`: `"problem-class"`; `line`: `10`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"create-croco-app/unexpected-failure"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#create-croco-app-unexpected-failure"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/create-croco-app/src/cli-result.ts"`; `kind`: `"problem-class"`; `line`: `28`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"create-croco-app/unsupported-node-version"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#create-croco-app-unsupported-node-version"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The detected Node.js version is outside the supported generated-app toolchain train."`; `operatorAction`: `"Compare the reported actual Node.js version with the supported Node.js 22 train and verify the active version-manager configuration."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `` "Install and activate Node.js 22 with `nvm install 22 && nvm use 22`, then rerun the command." ``; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/create-croco-app/src/libs/problems/UnsupportedNodeVersionProblem.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"create-croco-app/web-meta-vite-fullstack-missing-hydration-root"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#create-croco-app-web-meta-vite-fullstack-missing-hydration-root"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/create-croco-app/templates/addons/web-meta-vite-fullstack/ssr-worker/src/client.tsx"`; `kind`: `"problem-constructor"`; `line`: `11`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"create-croco-app/web-meta-vite-missing-hydration-root"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#create-croco-app-web-meta-vite-missing-hydration-root"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/create-croco-app/templates/addons/web-meta-vite/src/client.tsx"`; `kind`: `"problem-constructor"`; `line`: `11`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"credits-core/account-mismatch"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#credits-core-account-mismatch"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/credits-core/src/libs/problems.ts"`; `kind`: `"problem-class"`; `line`: `81`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"NotFound"`; `code`: `"credits-core/account-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#credits-core-account-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/credits-core/src/libs/problems.ts"`; `kind`: `"problem-class"`; `line`: `15`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"Conflict"`; `code`: `"credits-core/duplicate-conflict"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#credits-core-duplicate-conflict"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/credits-core/src/libs/problems.ts"`; `kind`: `"problem-class"`; `line`: `67`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"credits-core/event-publication-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#credits-core-event-publication-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/credits-core/src/libs/problems.ts"`; `kind`: `"problem-class"`; `line`: `143`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"BusinessRuleViolation"`; `code`: `"credits-core/expired-grant"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#credits-core-expired-grant"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request is syntactically valid but violates a domain rule."`; `operatorAction`: `"Review domain policy, entitlement, quota, and lifecycle rule evidence."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Change the workflow state or request values so the business rule is satisfied."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/credits-core/src/libs/problems.ts"`; `kind`: `"problem-class"`; `line`: `39`; \}\]; `status`: `422`; `title`: `"Business Rule Violation"`; \}, \{ `category`: `"BusinessRuleViolation"`; `code`: `"credits-core/insufficient-credits"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#credits-core-insufficient-credits"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request is syntactically valid but violates a domain rule."`; `operatorAction`: `"Review domain policy, entitlement, quota, and lifecycle rule evidence."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Change the workflow state or request values so the business rule is satisfied."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/credits-core/src/libs/problems.ts"`; `kind`: `"problem-class"`; `line`: `25`; \}\]; `status`: `422`; `title`: `"Business Rule Violation"`; \}, \{ `category`: `"ValidationError"`; `code`: `"credits-core/invalid-amount"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#credits-core-invalid-amount"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/credits-core/src/libs/problems.ts"`; `kind`: `"problem-class"`; `line`: `5`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"credits-core/invalid-command"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#credits-core-invalid-command"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/credits-core/src/libs/problems.ts"`; `kind`: `"problem-class"`; `line`: `109`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"BusinessRuleViolation"`; `code`: `"credits-core/refund-mismatch"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#credits-core-refund-mismatch"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request is syntactically valid but violates a domain rule."`; `operatorAction`: `"Review domain policy, entitlement, quota, and lifecycle rule evidence."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Change the workflow state or request values so the business rule is satisfied."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/credits-core/src/libs/problems.ts"`; `kind`: `"problem-class"`; `line`: `129`; \}\]; `status`: `422`; `title`: `"Business Rule Violation"`; \}, \{ `category`: `"BusinessRuleViolation"`; `code`: `"credits-core/reservation-mismatch"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#credits-core-reservation-mismatch"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request is syntactically valid but violates a domain rule."`; `operatorAction`: `"Review domain policy, entitlement, quota, and lifecycle rule evidence."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Change the workflow state or request values so the business rule is satisfied."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/credits-core/src/libs/problems.ts"`; `kind`: `"problem-class"`; `line`: `53`; \}\]; `status`: `422`; `title`: `"Business Rule Violation"`; \}, \{ `category`: `"Conflict"`; `code`: `"credits-core/stale-ledger-position"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#credits-core-stale-ledger-position"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/credits-core/src/libs/problems.ts"`; `kind`: `"problem-class"`; `line`: `95`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"NotFound"`; `code`: `"credits-core/transaction-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#credits-core-transaction-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/credits-core/src/libs/problems.ts"`; `kind`: `"problem-class"`; `line`: `119`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"credits-drizzle/persistence-failure"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#credits-drizzle-persistence-failure"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/credits-drizzle/src/libs/problems.ts"`; `kind`: `"problem-class"`; `line`: `5`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"CROCO_CLI_JOBS_001"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#croco-cli-jobs-001"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/cli/src/commands/jobs.ts"`; `kind`: `"problem-constructor"`; `line`: `88`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"BadRequest"`; `code`: `"CROCO_CLI_JOBS_002"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#croco-cli-jobs-002"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/cli/src/commands/jobs.ts"`; `kind`: `"problem-constructor"`; `line`: `99`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"BadRequest"`; `code`: `"CROCO_CLI_JOBS_003"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#croco-cli-jobs-003"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/cli/src/commands/jobs.ts"`; `kind`: `"problem-constructor"`; `line`: `110`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"Conflict"`; `code`: `"CROCO_CLI_JOBS_004"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#croco-cli-jobs-004"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `49`; `file`: `"packages/cli/src/commands/jobs.ts"`; `kind`: `"problem-metadata"`; `line`: `137`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"NotFound"`; `code`: `"CROCO_CLI_JOBS_005"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#croco-cli-jobs-005"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `63`; `file`: `"packages/cli/src/commands/jobs.ts"`; `kind`: `"problem-metadata"`; `line`: `132`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"BadRequest"`; `code`: `"CROCO_CLI_OPS_001"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#croco-cli-ops-001"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/cli/src/libs/ops.ts"`; `kind`: `"problem-constructor"`; `line`: `66`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"BadRequest"`; `code`: `"CROCO_CLI_OPS_002"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#croco-cli-ops-002"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/cli/src/libs/ops.ts"`; `kind`: `"problem-constructor"`; `line`: `55`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"BadRequest"`; `code`: `"CROCO_CLI_USAGE_DASHBOARD_005"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#croco-cli-usage-dashboard-005"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/cli/src/commands/generateUsageDashboard.ts"`; `kind`: `"problem-constructor"`; `line`: `24`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"CROCO_HTTP_MIDDLEWARE_001"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#croco-http-middleware-001"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"HTTP middleware returned without a Response, without shortCircuit(reason), and without calling next() exactly once."`; `operatorAction`: `"Update the named @croco/transports-http middleware to return next(), await next() once, return a Response, or return shortCircuit(reason) for intentional termination."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry only after the service owner ships a middleware contract fix."`; \}; `sources`: readonly \[\{ `column`: `12`; `file`: `"packages/transports-http/src/libs/CrocoRouteRegistrar.ts"`; `kind`: `"problem-factory"`; `line`: `367`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"CROCO_HTTP_MIDDLEWARE_002"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#croco-http-middleware-002"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"HTTP middleware attempted to resume the downstream pipeline more than once."`; `operatorAction`: `"Store the Response from a single next() call and reuse or transform it instead of calling next() again."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry only after the service owner ships a middleware contract fix."`; \}; `sources`: readonly \[\{ `column`: `15`; `file`: `"packages/transports-http/src/libs/CrocoRouteRegistrar.ts"`; `kind`: `"problem-factory"`; `line`: `272`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"CROCO_HTTP_SECURITY_001"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#croco-http-security-001"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"HTTP bootstrap validation found a generated or application app without the required security middleware set."`; `operatorAction`: `"Add the missing @croco/transports-http middleware or keep securityValidation disabled only in an explicit local migration/testing fixture."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Use an app build that registers security headers, CORS, body limit, and rate-limit middleware before first run."`; \}; `sources`: readonly \[\{ `column`: `11`; `file`: `"packages/transports-http/src/libs/CrocoApp.ts"`; `kind`: `"problem-factory"`; `line`: `278`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"CROCO_HTTP_SECURITY_002"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#croco-http-security-002"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `11`; `file`: `"packages/transports-http/src/libs/middleware/SecurityMiddlewareMarker.ts"`; `kind`: `"problem-factory"`; `line`: `154`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"ValidationError"`; `code`: `"CROCO_TEST_EVIDENCE_CONTRACT_INVALID"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#croco-test-evidence-contract-invalid"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/testing/src/libs/test-evidence.mts"`; `kind`: `"problem-constructor"`; `line`: `159`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"CROCO_TEST_EVIDENCE_FIDELITY_UNSATISFIED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#croco-test-evidence-fidelity-unsatisfied"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/testing/src/libs/test-evidence.mts"`; `kind`: `"problem-constructor"`; `line`: `173`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"dataloader-core/batch-result-length-mismatch"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#dataloader-core-batch-result-length-mismatch"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/dataloader-core/src/libs/problems/BatchLoaderProblems.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"diagnostics-core/duplicate-provider"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#diagnostics-core-duplicate-provider"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/diagnostics-core/src/libs/problems/DiagnosticsProblems.ts"`; `kind`: `"problem-class"`; `line`: `25`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"diagnostics-core/invalid-timeout"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#diagnostics-core-invalid-timeout"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/diagnostics-core/src/libs/problems/DiagnosticsProblems.ts"`; `kind`: `"problem-class"`; `line`: `9`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"DUPLICATE_INVITATION"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#duplicate-invitation"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/invitation-core/src/libs/problems/RateLimitProblems.ts"`; `kind`: `"problem-class"`; `line`: `13`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"DUPLICATE_RECOVER_HANDLER"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#duplicate-recover-handler"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/retry-core/src/libs/errors/DuplicateRecoverHandlerProblem.ts"`; `kind`: `"problem-class"`; `line`: `7`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"DURATION_PARSE_ERROR"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#duration-parse-error"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/framework-context/src/libs/problems/ContextProblems.ts"`; `kind`: `"problem-class"`; `line`: `15`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"EMBEDDING_ERROR"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#embedding-error"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/llm-core/src/libs/problems/LlmServiceProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `43`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"engagement-core/message-already-registered"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#engagement-core-message-already-registered"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/engagement-core/src/libs/MessageContracts.ts"`; `kind`: `"problem-constructor"`; `line`: `334`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"ValidationError"`; `code`: `"engagement-core/message-data-invalid"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#engagement-core-message-data-invalid"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/engagement-core/src/libs/MessageContracts.ts"`; `kind`: `"problem-constructor"`; `line`: `321`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"engagement-core/message-definition-invalid"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#engagement-core-message-definition-invalid"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/engagement-core/src/libs/MessageContracts.ts"`; `kind`: `"problem-constructor"`; `line`: `313`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"engagement-core/renderer-already-registered"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#engagement-core-renderer-already-registered"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/engagement-core/src/libs/MessageContracts.ts"`; `kind`: `"problem-constructor"`; `line`: `347`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"ValidationError"`; `code`: `"engagement-core/renderer-binding-mismatch"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#engagement-core-renderer-binding-mismatch"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/engagement-core/src/libs/MessageContracts.ts"`; `kind`: `"problem-constructor"`; `line`: `393`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"engagement-core/renderer-channel-missing"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#engagement-core-renderer-channel-missing"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/engagement-core/src/libs/MessageContracts.ts"`; `kind`: `"problem-constructor"`; `line`: `382`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"engagement-core/renderer-channel-undeclared"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#engagement-core-renderer-channel-undeclared"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/engagement-core/src/libs/MessageContracts.ts"`; `kind`: `"problem-constructor"`; `line`: `404`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"engagement-core/renderer-message-missing"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#engagement-core-renderer-message-missing"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/engagement-core/src/libs/MessageContracts.ts"`; `kind`: `"problem-constructor"`; `line`: `369`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"engagement-core/renderer-missing"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#engagement-core-renderer-missing"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/engagement-core/src/libs/MessageContracts.ts"`; `kind`: `"problem-constructor"`; `line`: `358`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Forbidden"`; `code`: `"ENTITLEMENT_DENIED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#entitlement-denied"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The authenticated caller is not allowed to perform the requested action."`; `operatorAction`: `"Review policy, role, tenant, entitlement, and impersonation context."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Request the required permission or choose an allowed action."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/entitlements-core/src/libs/problems/EntitlementProblems.ts"`; `kind`: `"problem-class"`; `line`: `20`; \}\]; `status`: `403`; `title`: `"Forbidden"`; \}, \{ `category`: `"Forbidden"`; `code`: `"ENTITLEMENT_INACTIVE_SUBSCRIPTION"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#entitlement-inactive-subscription"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The authenticated caller is not allowed to perform the requested action."`; `operatorAction`: `"Review policy, role, tenant, entitlement, and impersonation context."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Request the required permission or choose an allowed action."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/entitlements-core/src/libs/problems/EntitlementProblems.ts"`; `kind`: `"problem-class"`; `line`: `46`; \}\]; `status`: `403`; `title`: `"Forbidden"`; \}, \{ `category`: `"Forbidden"`; `code`: `"ENTITLEMENT_MISSING_PLAN"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#entitlement-missing-plan"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The authenticated caller is not allowed to perform the requested action."`; `operatorAction`: `"Review policy, role, tenant, entitlement, and impersonation context."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Request the required permission or choose an allowed action."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/entitlements-core/src/libs/problems/EntitlementProblems.ts"`; `kind`: `"problem-class"`; `line`: `32`; \}\]; `status`: `403`; `title`: `"Forbidden"`; \}, \{ `category`: `"NotFound"`; `code`: `"ENTITLEMENT_NOT_FOUND"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#entitlement-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/entitlements-core/src/libs/problems/EntitlementProblems.ts"`; `kind`: `"problem-class"`; `line`: `86`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"ENTITLEMENT_PROVIDER_UNAVAILABLE"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#entitlement-provider-unavailable"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/entitlements-core/src/libs/problems/EntitlementProblems.ts"`; `kind`: `"problem-class"`; `line`: `74`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"TooManyRequests"`; `code`: `"ENTITLEMENT_QUOTA_EXCEEDED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#entitlement-quota-exceeded"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller exceeded a rate, quota, or concurrency limit."`; `operatorAction`: `"Check limiter state, quota configuration, and abuse signals."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Wait for the retry window or reduce request volume."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/entitlements-core/src/libs/problems/EntitlementProblems.ts"`; `kind`: `"problem-class"`; `line`: `60`; \}\]; `status`: `429`; `title`: `"Too Many Requests"`; \}, \{ `category`: `"ValidationError"`; `code`: `"ENTITLEMENT_REQUIREMENT_INVALID"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#entitlement-requirement-invalid"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/entitlements-core/src/libs/problems/EntitlementProblems.ts"`; `kind`: `"problem-class"`; `line`: `11`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"entitlements-core/definition-invalid"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#entitlements-core-definition-invalid"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/entitlements-core/src/libs/problems/EntitlementProblems.ts"`; `kind`: `"problem-class"`; `line`: `95`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"entitlements-core/plan-version-already-registered"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#entitlements-core-plan-version-already-registered"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/entitlements-core/src/libs/problems/EntitlementProblems.ts"`; `kind`: `"problem-class"`; `line`: `113`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"Conflict"`; `code`: `"entitlements-core/plan-version-mismatch"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#entitlements-core-plan-version-mismatch"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/entitlements-core/src/libs/problems/EntitlementProblems.ts"`; `kind`: `"problem-class"`; `line`: `122`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"NotFound"`; `code`: `"entitlements-core/plan-version-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#entitlements-core-plan-version-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/entitlements-core/src/libs/problems/EntitlementProblems.ts"`; `kind`: `"problem-class"`; `line`: `104`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"events-core/after-commit-outcome-required"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#events-core-after-commit-outcome-required"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/events-core/src/libs/problems/EventsProblems.ts"`; `kind`: `"problem-class"`; `line`: `107`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"events-core/after-commit-requires-active-transaction"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#events-core-after-commit-requires-active-transaction"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/events-core/src/libs/problems/EventsProblems.ts"`; `kind`: `"problem-class"`; `line`: `96`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"events-core/deserialization-error"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#events-core-deserialization-error"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/events-core/src/libs/problems/EventsProblems.ts"`; `kind`: `"problem-class"`; `line`: `40`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"events-core/duplicate-event-field"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#events-core-duplicate-event-field"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/events-core/src/libs/problems/EventsProblems.ts"`; `kind`: `"problem-class"`; `line`: `51`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"events-core/duplicate-event-name"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#events-core-duplicate-event-name"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/events-core/src/libs/problems/EventsProblems.ts"`; `kind`: `"problem-class"`; `line`: `66`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"events-core/event-bus-not-set"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#events-core-event-bus-not-set"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/events-core/src/libs/problems/EventsProblems.ts"`; `kind`: `"problem-class"`; `line`: `7`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"events-core/event-definition-error"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#events-core-event-definition-error"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/events-core/src/libs/problems/EventsProblems.ts"`; `kind`: `"problem-class"`; `line`: `18`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"events-core/transaction-context-unavailable"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#events-core-transaction-context-unavailable"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/events-core/src/libs/problems/EventsProblems.ts"`; `kind`: `"problem-class"`; `line`: `81`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"events-core/unknown-event-type"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#events-core-unknown-event-type"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/events-core/src/libs/problems/EventsProblems.ts"`; `kind`: `"problem-class"`; `line`: `29`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"TooManyRequests"`; `code`: `"events-inmemory/backpressure-exceeded"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#events-inmemory-backpressure-exceeded"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller exceeded a rate, quota, or concurrency limit."`; `operatorAction`: `"Check limiter state, quota configuration, and abuse signals."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Wait for the retry window or reduce request volume."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/events-inmemory/src/libs/problems/EventsInmemoryProblems.ts"`; `kind`: `"problem-class"`; `line`: `35`; \}\]; `status`: `429`; `title`: `"Too Many Requests"`; \}, \{ `category`: `"TooManyRequests"`; `code`: `"events-inmemory/backpressure-timeout"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#events-inmemory-backpressure-timeout"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller exceeded a rate, quota, or concurrency limit."`; `operatorAction`: `"Check limiter state, quota configuration, and abuse signals."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Wait for the retry window or reduce request volume."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/events-inmemory/src/libs/problems/EventsInmemoryProblems.ts"`; `kind`: `"problem-class"`; `line`: `51`; \}\]; `status`: `429`; `title`: `"Too Many Requests"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"events-inmemory/invalid-configuration"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#events-inmemory-invalid-configuration"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/events-inmemory/src/libs/problems/EventsInmemoryProblems.ts"`; `kind`: `"problem-class"`; `line`: `12`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"events-inmemory/publish-dropped"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#events-inmemory-publish-dropped"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/events-inmemory/src/libs/InmemoryEventBus.ts"`; `kind`: `"problem-class"`; `line`: `54`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"events-inmemory/publish-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#events-inmemory-publish-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/events-inmemory/src/libs/InmemoryEventBus.ts"`; `kind`: `"problem-class"`; `line`: `37`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"events-tx/configuration-invalid"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#events-tx-configuration-invalid"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/events-tx/src/libs/problems/EventsTxProblems.ts"`; `kind`: `"problem-class"`; `line`: `36`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"events-tx/inbox-claim-conflict"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#events-tx-inbox-claim-conflict"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"An inbox completion request no longer owns the processing attempt it started."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints, then verify workers complete only the attempt they claimed."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Acquire a new inbox claim before retrying processing; discard the stale completion when a new claim cannot be acquired."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/events-tx/src/libs/problems/EventsTxProblems.ts"`; `kind`: `"problem-class"`; `line`: `120`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"Conflict"`; `code`: `"events-tx/outbox-idempotency-conflict"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#events-tx-outbox-idempotency-conflict"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/events-tx/src/libs/problems/EventsTxProblems.ts"`; `kind`: `"problem-class"`; `line`: `83`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"events-tx/outbox-publish-exhausted"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#events-tx-outbox-publish-exhausted"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/events-tx/src/libs/problems/EventsTxProblems.ts"`; `kind`: `"problem-class"`; `line`: `105`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"events-tx/outbox-transaction-required"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#events-tx-outbox-transaction-required"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/events-tx/src/libs/problems/EventsTxProblems.ts"`; `kind`: `"problem-class"`; `line`: `64`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"events-tx/storage-error"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#events-tx-storage-error"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/events-tx/src/libs/problems/EventsTxProblems.ts"`; `kind`: `"problem-class"`; `line`: `73`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"events-tx/transaction-state-error"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#events-tx-transaction-state-error"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/events-tx/src/libs/problems/EventsTxProblems.ts"`; `kind`: `"problem-class"`; `line`: `56`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"execution/checkpoint-store-conformance"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#execution-checkpoint-store-conformance"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `12`; `file`: `"packages/execution-core/src/libs/ExecutionProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `138`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"execution/conflict"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#execution-conflict"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `12`; `file`: `"packages/execution-core/src/libs/ExecutionProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `90`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"Conflict"`; `code`: `"execution/continuation-conflict"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#execution-continuation-conflict"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `12`; `file`: `"packages/execution-core/src/libs/ExecutionProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `129`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"execution/continuation-unsupported"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#execution-continuation-unsupported"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `12`; `file`: `"packages/execution-core/src/libs/ExecutionProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `118`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"execution/idempotency-conflict"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#execution-idempotency-conflict"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `12`; `file`: `"packages/execution-core/src/libs/ExecutionProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `94`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"ValidationError"`; `code`: `"execution/invalid-continuation-lease-duration"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#execution-invalid-continuation-lease-duration"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/execution-core/src/libs/ExecutionProblem.ts"`; `kind`: `"problem-class"`; `line`: `29`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"execution/invalid-state-transition"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#execution-invalid-state-transition"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `12`; `file`: `"packages/execution-core/src/libs/ExecutionProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `110`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"Conflict"`; `code`: `"execution/max-retries-exceeded"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#execution-max-retries-exceeded"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `12`; `file`: `"packages/execution-core/src/libs/ExecutionProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `102`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"NotFound"`; `code`: `"execution/not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#execution-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `12`; `file`: `"packages/execution-core/src/libs/ExecutionProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `86`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"Forbidden"`; `code`: `"FORBIDDEN"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#forbidden"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The authenticated caller is not allowed to perform the requested action."`; `operatorAction`: `"Review policy, role, tenant, entitlement, and impersonation context."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Request the required permission or choose an allowed action."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/auth-core/src/libs/problems/AuthProblems.ts"`; `kind`: `"problem-class"`; `line`: `13`; \}\]; `status`: `403`; `title`: `"Forbidden"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"framework-config/config-schema-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#framework-config-config-schema-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/framework-config/src/libs/problems/ConfigProblems.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"framework-config/config-validation-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#framework-config-config-validation-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/framework-config/src/libs/problems/ConfigProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `15`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"framework-config/invalid-boolean-env"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#framework-config-invalid-boolean-env"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/framework-config/src/libs/problems/ConfigProblems.ts"`; `kind`: `"problem-class"`; `line`: `24`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"framework-context/circular-dependency"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#framework-context-circular-dependency"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/framework-context/src/libs/problems/CircularDependencyProblem.ts"`; `kind`: `"problem-class"`; `line`: `7`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"framework-context/container-scope-disposed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#framework-context-container-scope-disposed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `10`; `file`: `"packages/framework-context/src/libs/Container.ts"`; `kind`: `"problem-factory"`; `line`: `65`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"framework-context/context-middleware-execution-error"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#framework-context-context-middleware-execution-error"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/framework-context/src/libs/problems/ContextProblems.ts"`; `kind`: `"problem-class"`; `line`: `7`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"framework-context/di-resolution-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#framework-context-di-resolution-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/framework-context/src/libs/problems/ContainerResolutionProblem.ts"`; `kind`: `"problem-class"`; `line`: `10`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"framework-context/di-scope-mismatch"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#framework-context-di-scope-mismatch"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/framework-context/src/libs/problems/ContainerResolutionProblem.ts"`; `kind`: `"problem-class"`; `line`: `31`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"framework-context/on-shutdown-decorator-invalid"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#framework-context-on-shutdown-decorator-invalid"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/framework-context/src/libs/problems/ShutdownProblems.ts"`; `kind`: `"problem-class"`; `line`: `9`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"framework-context/pipeline-graph-invalid"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#framework-context-pipeline-graph-invalid"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/framework-context/src/libs/problems/PipelineGraphProblems.ts"`; `kind`: `"problem-class"`; `line`: `7`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"Conflict"`; `code`: `"framework-context/policy-capability-unavailable"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#framework-context-policy-capability-unavailable"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/framework-context/src/libs/problems/RuntimePolicyProblems.ts"`; `kind`: `"problem-class"`; `line`: `33`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"Conflict"`; `code`: `"framework-context/policy-conflict"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#framework-context-policy-conflict"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/framework-context/src/libs/problems/RuntimePolicyProblems.ts"`; `kind`: `"problem-class"`; `line`: `9`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"ValidationError"`; `code`: `"framework-context/policy-definition-invalid"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#framework-context-policy-definition-invalid"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/framework-context/src/libs/problems/RuntimePolicyProblems.ts"`; `kind`: `"problem-class"`; `line`: `21`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"framework-context/request-scope-outside-context"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#framework-context-request-scope-outside-context"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `13`; `file`: `"packages/framework-context/src/libs/Container.ts"`; `kind`: `"problem-factory"`; `line`: `1705`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"framework-context/runtime-inspector-invalid-configuration"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#framework-context-runtime-inspector-invalid-configuration"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/framework-context/src/libs/problems/RuntimeInspectorProblems.ts"`; `kind`: `"problem-class"`; `line`: `10`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"framework-context/shutdown-configuration-conflict"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#framework-context-shutdown-configuration-conflict"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/framework-context/src/libs/problems/ShutdownProblems.ts"`; `kind`: `"problem-class"`; `line`: `97`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"framework-context/shutdown-hook-execution-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#framework-context-shutdown-hook-execution-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/framework-context/src/libs/problems/ShutdownProblems.ts"`; `kind`: `"problem-class"`; `line`: `112`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"framework-context/shutdown-timeout"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#framework-context-shutdown-timeout"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/framework-context/src/libs/problems/ShutdownProblems.ts"`; `kind`: `"problem-class"`; `line`: `73`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"framework-module/circular-dependency"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#framework-module-circular-dependency"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/framework-module/src/problems.ts"`; `kind`: `"problem-constructor"`; `line`: `26`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"framework-module/invalid-module-definition"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#framework-module-invalid-module-definition"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/framework-module/src/problems.ts"`; `kind`: `"problem-constructor"`; `line`: `16`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"framework-module/lifecycle-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#framework-module-lifecycle-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/framework-module/src/problems.ts"`; `kind`: `"problem-constructor"`; `line`: `42`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"framework-module/provider-not-visible"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#framework-module-provider-not-visible"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/framework-module/src/problems.ts"`; `kind`: `"problem-constructor"`; `line`: `70`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"framework-module/provider-ownership-conflict"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#framework-module-provider-ownership-conflict"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/framework-module/src/problems.ts"`; `kind`: `"problem-constructor"`; `line`: `92`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"Conflict"`; `code`: `"framework-module/provider-write-not-owned"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#framework-module-provider-write-not-owned"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/framework-module/src/problems.ts"`; `kind`: `"problem-constructor"`; `line`: `108`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"frontend-problems/fetch-unavailable"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#frontend-problems-fetch-unavailable"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/frontend-problems/src/index.ts"`; `kind`: `"problem-class"`; `line`: `204`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"frontend-vite/missing-cloudflare-vite-plugin"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#frontend-vite-missing-cloudflare-vite-plugin"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/frontend-vite/src/libs/problems/MissingCloudflareVitePluginProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `14`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"GENERATION_ERROR"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#generation-error"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/llm-core/src/libs/problems/LlmServiceProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `34`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"gid-core/id-type-only-property"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#gid-core-id-type-only-property"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/gid-core/src/libs/problems/GidProblems.ts"`; `kind`: `"problem-class"`; `line`: `17`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"gid-core/invalid-id-prefix"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#gid-core-invalid-id-prefix"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/gid-core/src/libs/problems/GidProblems.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"NotImplemented"`; `code`: `"governance-core/delete-not-supported"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#governance-core-delete-not-supported"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested capability is not supported by this runtime or adapter."`; `operatorAction`: `"Check runtime capability declarations and provider maturity documentation."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Use a supported capability or choose an adapter/runtime that provides it."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/governance-core/src/libs/problems/DataGovernanceProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `34`; \}\]; `status`: `501`; `title`: `"Not Implemented"`; \}, \{ `category`: `"NotImplemented"`; `code`: `"governance-core/export-not-supported"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#governance-core-export-not-supported"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested capability is not supported by this runtime or adapter."`; `operatorAction`: `"Check runtime capability declarations and provider maturity documentation."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Use a supported capability or choose an adapter/runtime that provides it."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/governance-core/src/libs/problems/DataGovernanceProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `15`; \}\]; `status`: `501`; `title`: `"Not Implemented"`; \}, \{ `category`: `"ValidationError"`; `code`: `"governance-core/resource-validation-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#governance-core-resource-validation-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/governance-core/src/libs/DataGovernanceResource.ts"`; `kind`: `"problem-constructor"`; `line`: `102`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"BusinessRuleViolation"`; `code`: `"governance-core/retention-policy-violation"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#governance-core-retention-policy-violation"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request is syntactically valid but violates a domain rule."`; `operatorAction`: `"Review domain policy, entitlement, quota, and lifecycle rule evidence."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Change the workflow state or request values so the business rule is satisfied."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/governance-core/src/libs/problems/DataGovernanceProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `59`; \}\]; `status`: `422`; `title`: `"Business Rule Violation"`; \}, \{ `category`: `"NotFound"`; `code`: `"GRAPHQL_NOT_FOUND"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#graphql-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/protocols-graphql/src/libs/errors/GraphQLProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `23`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"NotFound"`; `code`: `"HEALTH_SCORE_NOT_FOUND"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#health-score-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/customer-health-core/src/libs/problems/HealthProblems.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"ValidationError"`; `code`: `"health-core/invalid-timeout"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#health-core-invalid-timeout"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/health-core/src/libs/problems/HealthProblems.ts"`; `kind`: `"problem-class"`; `line`: `9`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"idempotency-core/invalid-key"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#idempotency-core-invalid-key"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `11`; `file`: `"packages/idempotency-core/src/libs/problems/IdempotencyProblems.ts"`; `kind`: `"problem-metadata"`; `line`: `53`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"BadRequest"`; `code`: `"idempotency-core/invalid-ttl"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#idempotency-core-invalid-ttl"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `11`; `file`: `"packages/idempotency-core/src/libs/problems/IdempotencyProblems.ts"`; `kind`: `"problem-metadata"`; `line`: `72`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"Conflict"`; `code`: `"idempotency-core/key-conflict"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#idempotency-core-key-conflict"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `11`; `file`: `"packages/idempotency-core/src/libs/problems/IdempotencyProblems.ts"`; `kind`: `"problem-metadata"`; `line`: `37`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"Conflict"`; `code`: `"idempotency-core/reservation-expired"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#idempotency-core-reservation-expired"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `11`; `file`: `"packages/idempotency-core/src/libs/problems/IdempotencyProblems.ts"`; `kind`: `"problem-metadata"`; `line`: `101`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"Conflict"`; `code`: `"idempotency-core/reservation-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#idempotency-core-reservation-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `11`; `file`: `"packages/idempotency-core/src/libs/problems/IdempotencyProblems.ts"`; `kind`: `"problem-metadata"`; `line`: `87`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"Conflict"`; `code`: `"idempotency-core/reservation-state"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#idempotency-core-reservation-state"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `11`; `file`: `"packages/idempotency-core/src/libs/problems/IdempotencyProblems.ts"`; `kind`: `"problem-metadata"`; `line`: `120`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"Forbidden"`; `code`: `"IMPERSONATION_IDENTITY_CONFLICT"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#impersonation-identity-conflict"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The authenticated caller is not allowed to perform the requested action."`; `operatorAction`: `"Review policy, role, tenant, entitlement, and impersonation context."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Request the required permission or choose an allowed action."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/impersonation-core/src/libs/problems/ImpersonationProblems.ts"`; `kind`: `"problem-class"`; `line`: `13`; \}\]; `status`: `403`; `title`: `"Forbidden"`; \}, \{ `category`: `"BadRequest"`; `code`: `"IMPERSONATION_REASON_REQUIRED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#impersonation-reason-required"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/impersonation-core/src/libs/problems/ImpersonationProblems.ts"`; `kind`: `"problem-class"`; `line`: `40`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"NotFound"`; `code`: `"IMPERSONATION_SESSION_NOT_FOUND"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#impersonation-session-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/impersonation-core/src/libs/problems/ImpersonationProblems.ts"`; `kind`: `"problem-class"`; `line`: `58`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"NotFound"`; `code`: `"IMPERSONATION_TARGET_NOT_FOUND"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#impersonation-target-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/impersonation-core/src/libs/problems/ImpersonationProblems.ts"`; `kind`: `"problem-class"`; `line`: `22`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"NotFound"`; `code`: `"INDEX_NOT_FOUND"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#index-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/search-core/src/libs/problems/SearchProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `57`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"integrations-posthog/missing-config"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#integrations-posthog-missing-config"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/integrations-posthog/src/libs/problems/PostHogProblems.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"INVALID_AUTO_JOIN_ROLE"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#invalid-auto-join-role"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/invitation-core/src/libs/problems/DomainPolicyProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `18`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"BadRequest"`; `code`: `"INVALID_CURSOR"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#invalid-cursor"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/pagination-core/src/libs/problems.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"ValidationError"`; `code`: `"INVALID_INVITATION_EXPIRY_DURATION"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#invalid-invitation-expiry-duration"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/invitation-core/src/libs/problems/InvitationProblems.ts"`; `kind`: `"problem-class"`; `line`: `32`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"INVALID_PAGINATION_DIRECTION"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#invalid-pagination-direction"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/pagination-core/src/libs/problems.ts"`; `kind`: `"problem-class"`; `line`: `40`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"ValidationError"`; `code`: `"INVALID_RETRY_CONFIGURATION"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#invalid-retry-configuration"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/retry-core/src/libs/errors/RetryInfrastructureProblem.ts"`; `kind`: `"problem-class"`; `line`: `52`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"INVALID_ROLE"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#invalid-role"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/membership-core/src/libs/problems/MembershipProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `44`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"Conflict"`; `code`: `"INVITATION_ALREADY_ACCEPTED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#invitation-already-accepted"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/invitation-core/src/libs/problems/InvitationProblems.ts"`; `kind`: `"problem-class"`; `line`: `73`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"INVITATION_CREATION_FAILED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#invitation-creation-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/invitation-core/src/libs/problems/InvitationProblems.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Forbidden"`; `code`: `"INVITATION_EMAIL_MISMATCH"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#invitation-email-mismatch"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The authenticated caller is not allowed to perform the requested action."`; `operatorAction`: `"Review policy, role, tenant, entitlement, and impersonation context."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Request the required permission or choose an allowed action."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/invitation-core/src/libs/problems/InvitationProblems.ts"`; `kind`: `"problem-class"`; `line`: `84`; \}\]; `status`: `403`; `title`: `"Forbidden"`; \}, \{ `category`: `"Gone"`; `code`: `"INVITATION_EXPIRED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#invitation-expired"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource is no longer available through this API surface."`; `operatorAction`: `"Verify lifecycle, migration, deprecation, and retention state."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Stop using the stale reference and follow the replacement flow when available."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/invitation-core/src/libs/problems/InvitationProblems.ts"`; `kind`: `"problem-class"`; `line`: `62`; \}\]; `status`: `410`; `title`: `"Gone"`; \}, \{ `category`: `"Conflict"`; `code`: `"INVITATION_IDEMPOTENCY_CONFLICT"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#invitation-idempotency-conflict"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/invitation-core/src/libs/problems/InvitationProblems.ts"`; `kind`: `"problem-class"`; `line`: `19`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"Conflict"`; `code`: `"INVITATION_INVALID_STATUS"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#invitation-invalid-status"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/invitation-core/src/libs/problems/InvitationProblems.ts"`; `kind`: `"problem-class"`; `line`: `95`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"NotFound"`; `code`: `"INVITATION_NOT_FOUND"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#invitation-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/invitation-core/src/libs/problems/InvitationProblems.ts"`; `kind`: `"problem-class"`; `line`: `51`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"TooManyRequests"`; `code`: `"INVITATION_RATE_LIMIT_EXCEEDED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#invitation-rate-limit-exceeded"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller exceeded a rate, quota, or concurrency limit."`; `operatorAction`: `"Check limiter state, quota configuration, and abuse signals."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Wait for the retry window or reduce request volume."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/invitation-core/src/libs/problems/RateLimitProblems.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `429`; `title`: `"Too Many Requests"`; \}, \{ `category`: `"BadRequest"`; `code`: `"invitation-core/batch-size-exceeded"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#invitation-core-batch-size-exceeded"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/invitation-core/src/libs/problems/BatchInviteProblems.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"invitation-drizzle/token-cipher-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#invitation-drizzle-token-cipher-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/invitation-drizzle/src/libs/InvitationTokenCipher.ts"`; `kind`: `"problem-constructor"`; `line`: `25`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"LAMBDA_TIMEOUT_GUARD"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#lambda-timeout-guard"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/retry-core/src/libs/errors/RetryInfrastructureProblem.ts"`; `kind`: `"problem-class"`; `line`: `39`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Forbidden"`; `code`: `"LAST_OWNER"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#last-owner"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The authenticated caller is not allowed to perform the requested action."`; `operatorAction`: `"Review policy, role, tenant, entitlement, and impersonation context."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Request the required permission or choose an allowed action."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/membership-core/src/libs/problems/MembershipProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `31`; \}\]; `status`: `403`; `title`: `"Forbidden"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"lifecycle-core/action-adapter-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#lifecycle-core-action-adapter-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/lifecycle-core/src/libs/problems/LifecycleProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `38`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"lifecycle-core/duplicate-rule"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#lifecycle-core-duplicate-rule"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/lifecycle-core/src/libs/problems/LifecycleProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `6`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"lifecycle-core/monetization-recipe-capability-missing"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#lifecycle-core-monetization-recipe-capability-missing"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/lifecycle-core/src/libs/problems/LifecycleProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `191`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"ValidationError"`; `code`: `"lifecycle-core/monetization-signal-invalid"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#lifecycle-core-monetization-signal-invalid"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/lifecycle-core/src/libs/problems/LifecycleProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `174`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"lifecycle-core/monetization-threshold-claim-unavailable"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#lifecycle-core-monetization-threshold-claim-unavailable"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/lifecycle-core/src/libs/problems/LifecycleProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `209`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"lifecycle-core/rule-action-contract-mismatch"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#lifecycle-core-rule-action-contract-mismatch"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/lifecycle-core/src/libs/problems/LifecycleProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `156`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"lifecycle-core/rule-command-conflict"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#lifecycle-core-rule-command-conflict"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/lifecycle-core/src/libs/problems/LifecycleProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `103`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"lifecycle-core/rule-definition-invalid"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#lifecycle-core-rule-definition-invalid"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/lifecycle-core/src/libs/problems/LifecycleProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `22`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"lifecycle-core/rule-transition-invalid"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#lifecycle-core-rule-transition-invalid"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/lifecycle-core/src/libs/problems/LifecycleProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `119`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"Conflict"`; `code`: `"lifecycle-core/rule-version-conflict"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#lifecycle-core-rule-version-conflict"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/lifecycle-core/src/libs/problems/LifecycleProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `85`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"lifecycle-core/rule-version-definition-invalid"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#lifecycle-core-rule-version-definition-invalid"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/lifecycle-core/src/libs/problems/LifecycleProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `139`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"lifecycle-core/rule-version-unavailable"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#lifecycle-core-rule-version-unavailable"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/lifecycle-core/src/libs/problems/LifecycleProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `67`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"NotFound"`; `code`: `"lifecycle-core/rule-version-unknown"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#lifecycle-core-rule-version-unknown"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/lifecycle-core/src/libs/problems/LifecycleProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `49`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"NotFound"`; `code`: `"LLM_PROVIDER_NOT_FOUND"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#llm-provider-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/llm-core/src/libs/problems/LlmProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `26`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"LLM_SERVICE_ERROR"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#llm-service-error"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/llm-core/src/libs/problems/LlmServiceProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `8`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"llm-core/invalid-llm-prompt"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#llm-core-invalid-llm-prompt"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/llm-core/src/libs/problems/LlmProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `102`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"llm-core/invalid-llm-response"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#llm-core-invalid-llm-response"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/llm-core/src/libs/problems/LlmProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `82`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"llm-core/llm-service-not-initialized"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#llm-core-llm-service-not-initialized"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/llm-core/src/libs/problems/LlmProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `92`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"llm-core/operation-aborted"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#llm-core-operation-aborted"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/llm-core/src/libs/problems/LlmProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `9`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"TooManyRequests"`; `code`: `"llm-core/rate-limit-exceeded"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#llm-core-rate-limit-exceeded"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller exceeded a rate, quota, or concurrency limit."`; `operatorAction`: `"Check limiter state, quota configuration, and abuse signals."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Wait for the retry window or reduce request volume."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/llm-core/src/libs/problems/LlmProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `60`; \}\]; `status`: `429`; `title`: `"Too Many Requests"`; \}, \{ `category`: `"Forbidden"`; `code`: `"llm-metering/cost-limit-exceeded"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#llm-metering-cost-limit-exceeded"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The authenticated caller is not allowed to perform the requested action."`; `operatorAction`: `"Review policy, role, tenant, entitlement, and impersonation context."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Request the required permission or choose an allowed action."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/llm-metering/src/libs/problems/LlmMeteringProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `41`; \}\]; `status`: `403`; `title`: `"Forbidden"`; \}, \{ `category`: `"NotFound"`; `code`: `"llm-metering/pricing-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#llm-metering-pricing-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/llm-metering/src/libs/problems/LlmMeteringProblems.ts"`; `kind`: `"problem-class"`; `line`: `58`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"Conflict"`; `code`: `"llm-metering/pricing-registry-conflict"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#llm-metering-pricing-registry-conflict"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/llm-metering/src/libs/problems/LlmMeteringProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `71`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"Forbidden"`; `code`: `"llm-metering/quota-exceeded"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#llm-metering-quota-exceeded"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The authenticated caller is not allowed to perform the requested action."`; `operatorAction`: `"Review policy, role, tenant, entitlement, and impersonation context."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Request the required permission or choose an allowed action."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/llm-metering/src/libs/problems/LlmMeteringProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `24`; \}\]; `status`: `403`; `title`: `"Forbidden"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"llm-metering/record-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#llm-metering-record-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/llm-metering/src/libs/problems/LlmMeteringProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `7`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"llm-openai/aborted"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#llm-openai-aborted"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/llm-openai/src/libs/problems/OpenAiProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `117`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"Unauthorized"`; `code`: `"llm-openai/authentication-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#llm-openai-authentication-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request did not include valid authentication credentials."`; `operatorAction`: `"Check authentication configuration, token issuer, and clock skew."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Sign in again or provide a valid credential."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/llm-openai/src/libs/problems/OpenAiProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `42`; \}\]; `status`: `401`; `title`: `"Unauthorized"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"llm-openai/invalid-response"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#llm-openai-invalid-response"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/llm-openai/src/libs/problems/OpenAiProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `135`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"llm-openai/missing-config"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#llm-openai-missing-config"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/llm-openai/src/libs/problems/OpenAiProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `24`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"TooManyRequests"`; `code`: `"llm-openai/rate-limited"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#llm-openai-rate-limited"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller exceeded a rate, quota, or concurrency limit."`; `operatorAction`: `"Check limiter state, quota configuration, and abuse signals."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Wait for the retry window or reduce request volume."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/llm-openai/src/libs/problems/OpenAiProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `57`; \}\]; `status`: `429`; `title`: `"Too Many Requests"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"llm-openai/retryable-upstream"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#llm-openai-retryable-upstream"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/llm-openai/src/libs/problems/OpenAiProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `72`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"llm-openai/terminal-upstream"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#llm-openai-terminal-upstream"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/llm-openai/src/libs/problems/OpenAiProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `87`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"llm-openai/validation-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#llm-openai-validation-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/llm-openai/src/libs/problems/OpenAiProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `102`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"Forbidden"`; `code`: `"MEMBERSHIP_CONSTRAINT"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#membership-constraint"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The authenticated caller is not allowed to perform the requested action."`; `operatorAction`: `"Review policy, role, tenant, entitlement, and impersonation context."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Request the required permission or choose an allowed action."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/membership-core/src/libs/problems/MembershipConstraintProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `9`; \}\]; `status`: `403`; `title`: `"Forbidden"`; \}, \{ `category`: `"NotFound"`; `code`: `"MEMBERSHIP_NOT_FOUND"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#membership-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/membership-core/src/libs/problems/MembershipProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `5`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"BadRequest"`; `code`: `"meta-vite/server-action-invalid-path"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#meta-vite-server-action-invalid-path"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/meta-vite/src/libs/actions/serverActions.ts"`; `kind`: `"problem-class"`; `line`: `80`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"NotFound"`; `code`: `"meta-vite/server-action-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#meta-vite-server-action-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/meta-vite/src/libs/actions/serverActions.ts"`; `kind`: `"problem-class"`; `line`: `66`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"ValidationError"`; `code`: `"meta-vite/server-action-validation-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#meta-vite-server-action-validation-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/meta-vite/src/libs/actions/serverActions.ts"`; `kind`: `"problem-class"`; `line`: `94`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"meter/insert-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#meter-insert-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `13`; `file`: `"packages/metering-drizzle/src/libs/DrizzleMeterRepository.ts"`; `kind`: `"problem-factory"`; `line`: `146`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"metering-drizzle/migration-query-result-unsupported"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#metering-drizzle-migration-query-result-unsupported"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `9`; `file`: `"packages/metering-drizzle/src/migrations/addUsageEnvelopeFields.ts"`; `kind`: `"problem-factory"`; `line`: `125`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"metering-drizzle/usage-envelope-not-configured"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#metering-drizzle-usage-envelope-not-configured"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/metering-drizzle/src/libs/problems/UsageEnvelopeConfigurationProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `6`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"metering-upstash/missing-config"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#metering-upstash-missing-config"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/metering-upstash/src/libs/problems/UpstashMeteringProblems.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"metering/atomic-quota-not-supported"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#metering-atomic-quota-not-supported"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/metering-core/src/libs/problems/AtomicQuotaNotSupportedProblem.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"metering/billable-usage-journal-required"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#metering-billable-usage-journal-required"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"A meter declares billing as required, but MeterRegistry validation cannot find a persistent BillableUsageJournal."`; `operatorAction`: `"Configure a persistent BillableUsageJournal before loadAll, lazy meter lookup, or registration validates a billing-required meter."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Do not retry with the same configuration; connect a persistent journal or change the meter billing contract first."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/metering-core/src/libs/problems/BillableUsageJournalRequiredProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `5`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"metering/duplicate-record"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#metering-duplicate-record"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/metering-core/src/libs/problems/DuplicateRecordProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `5`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"NotFound"`; `code`: `"metering/invalid-meter"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#metering-invalid-meter"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/metering-core/src/libs/problems/InvalidMeterProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `5`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"ValidationError"`; `code`: `"metering/invalid-meter-dimension"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#metering-invalid-meter-dimension"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/metering-core/src/libs/problems/InvalidMeterDimensionProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `6`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"metering/invalid-usage-envelope"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#metering-invalid-usage-envelope"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/metering-core/src/libs/problems/InvalidUsageEnvelopeProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `6`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"metering/invalid-usage-query"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#metering-invalid-usage-query"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/metering-core/src/libs/problems/InvalidUsageQueryProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `6`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"TooManyRequests"`; `code`: `"metering/quota-exceeded"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#metering-quota-exceeded"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller exceeded a rate, quota, or concurrency limit."`; `operatorAction`: `"Check limiter state, quota configuration, and abuse signals."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Wait for the retry window or reduce request volume."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/metering-core/src/libs/problems/QuotaExceededProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `9`; \}\]; `status`: `429`; `title`: `"Too Many Requests"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"metering/redis-error"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#metering-redis-error"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/metering-core/src/libs/problems/RedisProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `8`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"metering/transition-conflict"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#metering-transition-conflict"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/metering-core/src/libs/problems/MeteringTransitionProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `5`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"metrics-billing/metric-dropped"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#metrics-billing-metric-dropped"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Billing metrics could not be recorded because the referenced account, subscription, or plan evidence was missing."`; `operatorAction`: `"Use extensions.reason, tenantId, resourceId, and eventKey to rebuild the missing account, subscription, or plan before replay."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Restore the missing billing state identified by reason/resourceId, then replay the same billing event with the same event key."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/metrics-billing/src/libs/problems/BillingMetricsProblems.ts"`; `kind`: `"problem-class"`; `line`: `17`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"metrics-billing/recording-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#metrics-billing-recording-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/metrics-billing/src/libs/problems/BillingMetricsProblems.ts"`; `kind`: `"problem-class"`; `line`: `46`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"BusinessRuleViolation"`; `code`: `"metrics-core/carrying-capacity-simulation-error"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#metrics-core-carrying-capacity-simulation-error"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request is syntactically valid but violates a domain rule."`; `operatorAction`: `"Review domain policy, entitlement, quota, and lifecycle rule evidence."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Change the workflow state or request values so the business rule is satisfied."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/metrics-core/src/libs/problems/MetricsProblems.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `422`; `title`: `"Business Rule Violation"`; \}, \{ `category`: `"ValidationError"`; `code`: `"metrics-core/carrying-capacity-tenant-required"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#metrics-core-carrying-capacity-tenant-required"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/metrics-core/src/libs/problems/MetricsProblems.ts"`; `kind`: `"problem-class"`; `line`: `12`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"metrics-core/gross-margin-required"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#metrics-core-gross-margin-required"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/metrics-core/src/libs/problems/MetricsProblems.ts"`; `kind`: `"problem-class"`; `line`: `42`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"metrics-core/invalid-retention-movement"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#metrics-core-invalid-retention-movement"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/metrics-core/src/libs/problems/MetricsProblems.ts"`; `kind`: `"problem-class"`; `line`: `30`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"metrics-core/mixed-currency-mrr"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#metrics-core-mixed-currency-mrr"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/metrics-core/src/libs/problems/MetricsProblems.ts"`; `kind`: `"problem-class"`; `line`: `50`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"NotImplemented"`; `code`: `"metrics-core/retention-metrics-unavailable"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#metrics-core-retention-metrics-unavailable"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested capability is not supported by this runtime or adapter."`; `operatorAction`: `"Check runtime capability declarations and provider maturity documentation."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Use a supported capability or choose an adapter/runtime that provides it."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/metrics-core/src/libs/problems/MetricsProblems.ts"`; `kind`: `"problem-class"`; `line`: `20`; \}\]; `status`: `501`; `title`: `"Not Implemented"`; \}, \{ `category`: `"ValidationError"`; `code`: `"metrics-core/snapshot-tenant-required"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#metrics-core-snapshot-tenant-required"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/metrics-core/src/libs/SnapshotScheduler.ts"`; `kind`: `"problem-class"`; `line`: `19`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"MIDDLEWARE_EXECUTION_ERROR"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#middleware-execution-error"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/framework-context/src/libs/problems/MiddlewareProblems.ts"`; `kind`: `"problem-class"`; `line`: `7`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"migration-runner/database-url-required"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#migration-runner-database-url-required"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/migration-runner/src/libs/problems/DatabaseUrlRequiredProblem.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"migration-runner/file-load-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#migration-runner-file-load-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/migration-runner/src/libs/problems/MigrationFileLoadProblem.ts"`; `kind`: `"problem-class"`; `line`: `5`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"migration-runner/history-drift"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#migration-runner-history-drift"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Recorded migration history no longer matches the available migration files by stable id and name."`; `operatorAction`: `"Compare the checkpoint rows with version-controlled migration files, restore missing or renamed files when possible, and repair history only after verifying the deployed schema."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Restore the original migration file identity or ask an operator to perform an explicitly verified history repair."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/migration-runner/src/libs/problems/MigrationHistoryDriftProblem.ts"`; `kind`: `"problem-class"`; `line`: `16`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"BadRequest"`; `code`: `"migration-runner/invalid-count"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#migration-runner-invalid-count"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/migration-runner/src/libs/problems/InvalidMigrationCountProblem.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"ValidationError"`; `code`: `"migration-runner/missing-down-function"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#migration-runner-missing-down-function"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/migration-runner/src/libs/problems/MissingDownFunctionProblem.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"migration-runner/missing-up-function"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#migration-runner-missing-up-function"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/migration-runner/src/libs/problems/MissingUpFunctionProblem.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"migration-runner/transaction-required"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#migration-runner-transaction-required"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/migration-runner/src/libs/problems/MigrationTransactionRequiredProblem.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"migration-runner/unsupported-dialect"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#migration-runner-unsupported-dialect"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/migration-runner/src/libs/problems/UnsupportedDialectProblem.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"migration-runner/unsupported-query-result"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#migration-runner-unsupported-query-result"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/migration-runner/src/libs/problems/UnsupportedMigrationQueryResultProblem.ts"`; `kind`: `"problem-class"`; `line`: `11`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"MISSING_TENANT"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#missing-tenant"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/search-core/src/libs/problems/SearchProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `5`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"NotFound"`; `code`: `"MODEL_NOT_FOUND"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#model-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/llm-core/src/libs/problems/LlmServiceProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `25`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"Forbidden"`; `code`: `"NESTED_IMPERSONATION_NOT_ALLOWED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#nested-impersonation-not-allowed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The authenticated caller is not allowed to perform the requested action."`; `operatorAction`: `"Review policy, role, tenant, entitlement, and impersonation context."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Request the required permission or choose an allowed action."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/impersonation-core/src/libs/problems/ImpersonationProblems.ts"`; `kind`: `"problem-class"`; `line`: `31`; \}\]; `status`: `403`; `title`: `"Forbidden"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"notifications-core/default-provider-conflict"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#notifications-core-default-provider-conflict"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/notifications-core/src/libs/problems/NotificationProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `80`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"notifications-core/delivery-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#notifications-core-delivery-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/notifications-core/src/libs/problems/NotificationProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `169`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"notifications-core/idempotency-key-required"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#notifications-core-idempotency-key-required"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/notifications-core/src/libs/problems/NotificationProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `241`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"notifications-core/outbox-idempotency-mismatch"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#notifications-core-outbox-idempotency-mismatch"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/notifications-core/src/libs/problems/NotificationProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `257`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"notifications-core/preference-channel-mismatch"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#notifications-core-preference-channel-mismatch"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/notifications-core/src/libs/problems/NotificationProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `224`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"notifications-core/preference-context-required"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#notifications-core-preference-context-required"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/notifications-core/src/libs/problems/NotificationProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `208`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"BusinessRuleViolation"`; `code`: `"notifications-core/preference-denied"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#notifications-core-preference-denied"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request is syntactically valid but violates a domain rule."`; `operatorAction`: `"Review domain policy, entitlement, quota, and lifecycle rule evidence."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Change the workflow state or request values so the business rule is satisfied."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/notifications-core/src/libs/problems/NotificationProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `186`; \}\]; `status`: `422`; `title`: `"Business Rule Violation"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"notifications-core/provider-already-registered"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#notifications-core-provider-already-registered"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/notifications-core/src/libs/problems/NotificationProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `64`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"notifications-core/provider-channel-mismatch"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#notifications-core-provider-channel-mismatch"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/notifications-core/src/libs/problems/NotificationProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `102`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"notifications-core/provider-idempotency-unsupported"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#notifications-core-provider-idempotency-unsupported"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/notifications-core/src/libs/problems/NotificationProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `136`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"notifications-core/provider-not-configured"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#notifications-core-provider-not-configured"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/notifications-core/src/libs/problems/NotificationProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `32`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"notifications-core/provider-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#notifications-core-provider-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/notifications-core/src/libs/problems/NotificationProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `120`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"notifications-core/provider-not-registered"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#notifications-core-provider-not-registered"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/notifications-core/src/libs/problems/NotificationProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `48`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"notifications-core/send-max-attempts-invalid"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#notifications-core-send-max-attempts-invalid"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/notifications-core/src/libs/problems/NotificationProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `153`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"notifications-core/template-already-registered"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#notifications-core-template-already-registered"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/notifications-core/src/libs/problems/NotificationProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `273`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"NotFound"`; `code`: `"notifications-core/template-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#notifications-core-template-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/notifications-core/src/libs/problems/NotificationProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `291`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"ValidationError"`; `code`: `"notifications-core/template-variables-invalid"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#notifications-core-template-variables-invalid"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/notifications-core/src/libs/problems/NotificationProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `310`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"notifications-resend/idempotency-conflict"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#notifications-resend-idempotency-conflict"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Resend rejected reuse of an idempotency key for a different send request."`; `operatorAction`: `"Audit callers so each business send intent has one stable idempotency key."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Replay the original payload with the same key or use a new key for a changed send intent."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/notifications-resend/src/libs/problems/ResendNotificationProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `54`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"notifications-resend/missing-config"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#notifications-resend-missing-config"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Required Resend configuration is absent or blank before provider readiness can be proven."`; `operatorAction`: `"Check deployment env/config injection and verify diagnostics do not expose the raw key."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Configure RESEND_API_KEY and a verified default sender, then rerun diagnostics."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/notifications-resend/src/libs/problems/ResendNotificationProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `19`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"notifications-resend/retryable-upstream"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#notifications-resend-retryable-upstream"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Resend returned a transient status, rate limit, or network timeout."`; `operatorAction`: `"Check Resend status, rate limits, and retry-after/upstream status in telemetry."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry with the same idempotency key when the send intent is unchanged."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/notifications-resend/src/libs/problems/ResendNotificationProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `65`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"notifications-resend/terminal-upstream"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#notifications-resend-terminal-upstream"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Resend rejected the request with a non-retryable upstream failure."`; `operatorAction`: `"Inspect redacted upstream code/status and fix provider configuration before retrying."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Do not retry unchanged input; correct the API key, domain, sender verification, or request content."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/notifications-resend/src/libs/problems/ResendNotificationProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `76`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"notifications-resend/validation-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#notifications-resend-validation-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/notifications-resend/src/libs/problems/ResendNotificationProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `40`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"Unauthorized"`; `code`: `"onboarding/context-required"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#onboarding-context-required"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request did not include valid authentication credentials."`; `operatorAction`: `"Check authentication configuration, token issuer, and clock skew."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Sign in again or provide a valid credential."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/onboarding-core/src/libs/problems/OnboardingProblems.ts"`; `kind`: `"problem-class"`; `line`: `29`; \}\]; `status`: `401`; `title`: `"Unauthorized"`; \}, \{ `category`: `"NotFound"`; `code`: `"onboarding/definition-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#onboarding-definition-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/onboarding-core/src/libs/problems/OnboardingProblems.ts"`; `kind`: `"problem-class"`; `line`: `7`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"NotFound"`; `code`: `"onboarding/step-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#onboarding-step-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/onboarding-core/src/libs/problems/OnboardingProblems.ts"`; `kind`: `"problem-class"`; `line`: `18`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"ValidationError"`; `code`: `"openapi-spec/controller-typescript-diagnostics"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#openapi-spec-controller-typescript-diagnostics"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/openapi-spec/src/libs/loadControllers.ts"`; `kind`: `"problem-constructor"`; `line`: `70`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"openapi-spec/invalid-contract"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#openapi-spec-invalid-contract"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/openapi-spec/src/libs/emitOpenAPI.ts"`; `kind`: `"problem-constructor"`; `line`: `106`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"openapi-spec/no-rest-controllers-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#openapi-spec-no-rest-controllers-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/openapi-spec/src/libs/loadControllers.ts"`; `kind`: `"problem-constructor"`; `line`: `31`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"OTLP_ENDPOINT_REQUIRED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#otlp-endpoint-required"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/telemetry-sdk-node/src/libs/problems/TelemetryProblems.ts"`; `kind`: `"problem-class"`; `line`: `19`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"outbox-core/dispatch-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#outbox-core-dispatch-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/outbox-core/src/libs/problems/OutboxProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `86`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"outbox-core/failure-metadata-missing"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#outbox-core-failure-metadata-missing"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"A dispatcher attempted to mark an outbox record failed without the required retry metadata extensions."`; `operatorAction`: `"Audit dispatcher error mapping so every failure path preserves attempt, retryability, terminal state, and failedAt metadata."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Abort the dispatch attempt and pass an OutboxDispatchProblem or equivalent Problem with outbox retry metadata."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/outbox-core/src/libs/problems/OutboxProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `116`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"outbox-core/record-id-conflict"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#outbox-core-record-id-conflict"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"A caller tried to create an outbox record with an explicit id that already belongs to another idempotency scope."`; `operatorAction`: `"Inspect the producer id/idempotency assignment path and remove any shared id generator or manual id reuse."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Reuse the original idempotency key for the same intent or choose a new record id for a different intent."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/outbox-core/src/libs/problems/OutboxProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `103`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"outbox-core/unit-of-work-context-invalid"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#outbox-core-unit-of-work-context-invalid"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"An outbox write received a Unit of Work context that was missing, malformed, or created by another store instance."`; `operatorAction`: `"Check transaction boundary wiring so repository and outbox writes share the same store-owned Unit of Work client."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Abort the write and use the context supplied by the active TransactionalOutboxStore.runInUnitOfWork callback."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/outbox-core/src/libs/problems/OutboxProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `129`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Forbidden"`; `code`: `"OWNERSHIP_TRANSFER_REQUIRED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#ownership-transfer-required"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The authenticated caller is not allowed to perform the requested action."`; `operatorAction`: `"Review policy, role, tenant, entitlement, and impersonation context."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Request the required permission or choose an allowed action."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/membership-core/src/libs/problems/MembershipProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `65`; \}\]; `status`: `403`; `title`: `"Forbidden"`; \}, \{ `category`: `"BadRequest"`; `code`: `"preset-node/invalid-close-timeout"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#preset-node-invalid-close-timeout"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/preset-node/src/problems.ts"`; `kind`: `"problem-constructor"`; `line`: `6`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"Conflict"`; `code`: `"preset-node/lifecycle-conflict"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#preset-node-lifecycle-conflict"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"start() was called on a Node entry that is closing or already closed."`; `operatorAction`: `"Inspect Node entry ownership and the ordering of start() and close() calls."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Wait for closure to finish, then create a new entry to start another server."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/preset-node/src/problems.ts"`; `kind`: `"problem-constructor"`; `line`: `20`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"preset-node/lifecycle-io-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#preset-node-lifecycle-io-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The Node server failed while starting or closing an entry."`; `operatorAction`: `"Inspect the preserved cause and the reported lifecycle operation."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry only after the server or socket failure has been investigated."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/preset-node/src/problems.ts"`; `kind`: `"problem-constructor"`; `line`: `34`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"problems-core/invalid-extensions"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#problems-core-invalid-extensions"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/problems-core/src/libs/problems/InvalidExtensionsProblem.ts"`; `kind`: `"problem-class"`; `line`: `5`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"BadRequest"`; `code`: `"problems-core/parse-error"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#problems-core-parse-error"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/problems-core/src/libs/problems/ProblemDetailsParseProblem.ts"`; `kind`: `"problem-class"`; `line`: `5`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"ValidationError"`; `code`: `"problems-core/problem-registry-invalid"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#problems-core-problem-registry-invalid"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/problems-core/src/libs/ProblemRegistry.ts"`; `kind`: `"problem-constructor"`; `line`: `210`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"problems-core/unhandled-category"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#problems-core-unhandled-category"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/problems-core/src/libs/ProblemCategoryMapper.ts"`; `kind`: `"problem-class"`; `line`: `19`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"protocols-core/contract-graph-diagnostics"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#protocols-core-contract-graph-diagnostics"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/protocols-core/src/libs/ContractGraph.ts"`; `kind`: `"problem-constructor"`; `line`: `160`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"protocols-graphql/auth-invalid-header-format"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#protocols-graphql-auth-invalid-header-format"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `13`; `file`: `"packages/protocols-graphql/src/libs/guards/AuthGuard.ts"`; `kind`: `"problem-factory"`; `line`: `71`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"BadRequest"`; `code`: `"protocols-graphql/auth-invalid-request"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#protocols-graphql-auth-invalid-request"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `13`; `file`: `"packages/protocols-graphql/src/libs/guards/AuthGuard.ts"`; `kind`: `"problem-factory"`; `line`: `54`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"Unauthorized"`; `code`: `"protocols-graphql/auth-invalid-token"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#protocols-graphql-auth-invalid-token"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request did not include valid authentication credentials."`; `operatorAction`: `"Check authentication configuration, token issuer, and clock skew."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Sign in again or provide a valid credential."`; \}; `sources`: readonly \[\{ `column`: `10`; `file`: `"packages/protocols-graphql/src/libs/guards/AuthGuard.ts"`; `kind`: `"problem-factory"`; `line`: `14`; \}\]; `status`: `401`; `title`: `"Unauthorized"`; \}, \{ `category`: `"Unauthorized"`; `code`: `"protocols-graphql/auth-missing-header"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#protocols-graphql-auth-missing-header"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request did not include valid authentication credentials."`; `operatorAction`: `"Check authentication configuration, token issuer, and clock skew."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Sign in again or provide a valid credential."`; \}; `sources`: readonly \[\{ `column`: `13`; `file`: `"packages/protocols-graphql/src/libs/guards/AuthGuard.ts"`; `kind`: `"problem-factory"`; `line`: `63`; \}\]; `status`: `401`; `title`: `"Unauthorized"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"protocols-graphql/auth-verifier-unavailable"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#protocols-graphql-auth-verifier-unavailable"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `13`; `file`: `"packages/protocols-graphql/src/libs/guards/AuthGuard.ts"`; `kind`: `"problem-factory"`; `line`: `97`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Forbidden"`; `code`: `"protocols-graphql/guard-denied"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#protocols-graphql-guard-denied"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The authenticated caller is not allowed to perform the requested action."`; `operatorAction`: `"Review policy, role, tenant, entitlement, and impersonation context."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Request the required permission or choose an allowed action."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/protocols-graphql/src/libs/problems/GuardProblems.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `403`; `title`: `"Forbidden"`; \}, \{ `category`: `"BadRequest"`; `code`: `"protocols-rest/auth-invalid-header-format"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#protocols-rest-auth-invalid-header-format"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `13`; `file`: `"packages/protocols-rest/src/libs/guards/AuthGuard.ts"`; `kind`: `"problem-factory"`; `line`: `77`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"BadRequest"`; `code`: `"protocols-rest/auth-invalid-request"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#protocols-rest-auth-invalid-request"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `13`; `file`: `"packages/protocols-rest/src/libs/guards/AuthGuard.ts"`; `kind`: `"problem-factory"`; `line`: `59`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"Unauthorized"`; `code`: `"protocols-rest/auth-invalid-token"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#protocols-rest-auth-invalid-token"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request did not include valid authentication credentials."`; `operatorAction`: `"Check authentication configuration, token issuer, and clock skew."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Sign in again or provide a valid credential."`; \}; `sources`: readonly \[\{ `column`: `10`; `file`: `"packages/protocols-rest/src/libs/guards/AuthGuard.ts"`; `kind`: `"problem-factory"`; `line`: `15`; \}\]; `status`: `401`; `title`: `"Unauthorized"`; \}, \{ `category`: `"Unauthorized"`; `code`: `"protocols-rest/auth-missing-header"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#protocols-rest-auth-missing-header"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request did not include valid authentication credentials."`; `operatorAction`: `"Check authentication configuration, token issuer, and clock skew."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Sign in again or provide a valid credential."`; \}; `sources`: readonly \[\{ `column`: `13`; `file`: `"packages/protocols-rest/src/libs/guards/AuthGuard.ts"`; `kind`: `"problem-factory"`; `line`: `69`; \}\]; `status`: `401`; `title`: `"Unauthorized"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"protocols-rest/auth-verifier-unavailable"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#protocols-rest-auth-verifier-unavailable"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `13`; `file`: `"packages/protocols-rest/src/libs/guards/AuthGuard.ts"`; `kind`: `"problem-factory"`; `line`: `102`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"protocols-rest/duplicate-parameter-index"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#protocols-rest-duplicate-parameter-index"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `13`; `file`: `"packages/protocols-rest/src/libs/metadata/MetadataReader.ts"`; `kind`: `"problem-factory"`; `line`: `48`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"protocols-rest/request-validation-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#protocols-rest-request-validation-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/protocols-rest/src/libs/validators/ValidationProblem.ts"`; `kind`: `"problem-class"`; `line`: `31`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"protocols-rest/response-validation-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#protocols-rest-response-validation-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/protocols-rest/src/libs/validators/ValidationProblem.ts"`; `kind`: `"problem-class"`; `line`: `54`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"protocols-rest/validation-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#protocols-rest-validation-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/protocols-rest/src/libs/validators/ValidationProblem.ts"`; `kind`: `"problem-class"`; `line`: `12`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"protocols-trpc/duplicate-parameter-index"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#protocols-trpc-duplicate-parameter-index"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `13`; `file`: `"packages/protocols-trpc/src/libs/TrpcParamResolver.ts"`; `kind`: `"problem-factory"`; `line`: `71`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"protocols-trpc/duplicate-procedure-name"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#protocols-trpc-duplicate-procedure-name"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Two controller routes resolve to the same tRPC domain and procedure name."`; `operatorAction`: `"Inspect the duplicate-procedure diagnostic for the existing and conflicting controller routes and their decorator source locations, then change one domain or controller method name."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Use an application build where every tRPC procedure has a unique domain and controller method name combination."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/protocols-trpc/src/libs/createTrpcRouter.ts"`; `kind`: `"problem-class"`; `line`: `93`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"protocols-trpc/provider-container-required"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#protocols-trpc-provider-container-required"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/protocols-trpc/src/libs/createTrpcRouter.ts"`; `kind`: `"problem-class"`; `line`: `77`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"protocols-trpc/request-normalization-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#protocols-trpc-request-normalization-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/protocols-trpc/src/libs/TrpcExecutionContext.ts"`; `kind`: `"problem-class"`; `line`: `51`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"protocols-trpc/request-unavailable"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#protocols-trpc-request-unavailable"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/protocols-trpc/src/libs/TrpcExecutionContext.ts"`; `kind`: `"problem-class"`; `line`: `42`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"protocols-trpc/route-handler-not-callable"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#protocols-trpc-route-handler-not-callable"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/protocols-trpc/src/libs/createTrpcRouter.ts"`; `kind`: `"problem-class"`; `line`: `64`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"PUBLIC_EMAIL_DOMAIN_NOT_ALLOWED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#public-email-domain-not-allowed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/invitation-core/src/libs/problems/DomainPolicyProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `5`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"TooManyRequests"`; `code`: `"RATE_LIMIT_EXCEEDED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#rate-limit-exceeded"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller exceeded a rate, quota, or concurrency limit."`; `operatorAction`: `"Check limiter state, quota configuration, and abuse signals."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Wait for the retry window or reduce request volume."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/ratelimit-core/src/libs/problems/RateLimitExceededProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `15`; \}\]; `status`: `429`; `title`: `"Too Many Requests"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"RATE_LIMIT_KEY_BUILDER_ERROR"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#rate-limit-key-builder-error"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/ratelimit-core/src/libs/problems/RateLimitConfigProblems.ts"`; `kind`: `"problem-class"`; `line`: `6`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"RATE_LIMIT_REFUND_UNSUPPORTED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#rate-limit-refund-unsupported"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/ratelimit-core/src/libs/problems/RateLimitConfigProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `43`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"RATE_LIMIT_WINDOW_ERROR"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#rate-limit-window-error"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/ratelimit-core/src/libs/problems/RateLimitConfigProblems.ts"`; `kind`: `"problem-class"`; `line`: `16`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"ratelimit-upstash/invalid-policy"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#ratelimit-upstash-invalid-policy"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/ratelimit-upstash/src/libs/problems/RateLimitUpstashProblems.ts"`; `kind`: `"problem-class"`; `line`: `7`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"ratelimit-upstash/missing-config"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#ratelimit-upstash-missing-config"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/ratelimit-upstash/src/libs/problems/RateLimitUpstashProblems.ts"`; `kind`: `"problem-class"`; `line`: `21`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"ratelimit/prune-interval"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#ratelimit-prune-interval"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/ratelimit-core/src/libs/problems/RateLimitConfigProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `27`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"repository-core/batch-load-result-identity-mismatch"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#repository-core-batch-load-result-identity-mismatch"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/repository-core/src/libs/problems/BatchLoadProblems.ts"`; `kind`: `"problem-class"`; `line`: `77`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"repository-core/batch-load-result-key-duplicate"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#repository-core-batch-load-result-key-duplicate"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/repository-core/src/libs/problems/BatchLoadProblems.ts"`; `kind`: `"problem-class"`; `line`: `57`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"repository-core/batch-load-result-key-unexpected"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#repository-core-batch-load-result-key-unexpected"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/repository-core/src/libs/problems/BatchLoadProblems.ts"`; `kind`: `"problem-class"`; `line`: `67`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"repository-core/batch-load-result-unkeyed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#repository-core-batch-load-result-unkeyed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/repository-core/src/libs/problems/BatchLoadProblems.ts"`; `kind`: `"problem-class"`; `line`: `43`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"repository-core/batch-loader-factory-not-registered"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#repository-core-batch-loader-factory-not-registered"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/repository-core/src/libs/problems/BatchLoadProblems.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"repository-core/batch-loader-factory-resolution-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#repository-core-batch-loader-factory-resolution-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/repository-core/src/libs/problems/BatchLoadProblems.ts"`; `kind`: `"problem-class"`; `line`: `17`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"repository-core/batch-loader-scope-collision"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#repository-core-batch-loader-scope-collision"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/repository-core/src/libs/problems/BatchLoadProblems.ts"`; `kind`: `"problem-class"`; `line`: `29`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"RESEND_NOTIFICATION_FAILED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#resend-notification-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/notifications-resend/src/libs/problems/ResendNotificationProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `87`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"RETRY_ABORTED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#retry-aborted"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/retry-core/src/libs/errors/RetryAbortedProblem.ts"`; `kind`: `"problem-class"`; `line`: `7`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"RETRY_CIRCUIT_BREAKER_INVALID_STATE"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#retry-circuit-breaker-invalid-state"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/retry-core/src/libs/errors/RetryInfrastructureProblem.ts"`; `kind`: `"problem-class"`; `line`: `13`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"RETRY_CIRCUIT_BREAKER_LOCK_FAILED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#retry-circuit-breaker-lock-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/retry-core/src/libs/errors/RetryInfrastructureProblem.ts"`; `kind`: `"problem-class"`; `line`: `26`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"RETRY_EXHAUSTED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#retry-exhausted"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/retry-core/src/libs/errors/RetryExhaustedProblem.ts"`; `kind`: `"problem-class"`; `line`: `7`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"retry-core/backoff-cancellation-unsupported"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#retry-core-backoff-cancellation-unsupported"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/retry-core/src/libs/errors/RetryCancellationUnsupportedProblem.ts"`; `kind`: `"problem-class"`; `line`: `7`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"retry-core/circuit-breaker-unexpected-state"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#retry-core-circuit-breaker-unexpected-state"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/retry-core/src/libs/problems/CircuitBreakerProblems.ts"`; `kind`: `"problem-class"`; `line`: `7`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"retry-core/success-hook-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#retry-core-success-hook-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The business callback completed successfully, but its onSuccess observation hook failed afterward."`; `operatorAction`: `"Inspect the original cause and repair the named onSuccess listener or telemetry path without replaying the completed callback."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Do not repeat the business operation from this failure; report the hook failure while preserving the successful callback outcome."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/retry-core/src/libs/errors/RetryInfrastructureProblem.ts"`; `kind`: `"problem-class"`; `line`: `75`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Forbidden"`; `code`: `"ROLE_HIERARCHY_VIOLATION"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#role-hierarchy-violation"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The authenticated caller is not allowed to perform the requested action."`; `operatorAction`: `"Review policy, role, tenant, entitlement, and impersonation context."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Request the required permission or choose an allowed action."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/membership-core/src/libs/problems/MembershipProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `52`; \}\]; `status`: `403`; `title`: `"Forbidden"`; \}, \{ `category`: `"ValidationError"`; `code`: `"rpc-codegen/controller-typescript-diagnostics"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#rpc-codegen-controller-typescript-diagnostics"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/rpc-codegen/src/libs/loadRoutes.ts"`; `kind`: `"problem-constructor"`; `line`: `75`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"rpc-codegen/invalid-contract"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#rpc-codegen-invalid-contract"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/rpc-codegen/src/libs/generate.ts"`; `kind`: `"problem-constructor"`; `line`: `110`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"rpc-codegen/no-rest-controllers-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#rpc-codegen-no-rest-controllers-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/rpc-codegen/src/libs/loadRoutes.ts"`; `kind`: `"problem-constructor"`; `line`: `36`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"ValidationError"`; `code`: `"rpc-codegen/unsupported-form-schema"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#rpc-codegen-unsupported-form-schema"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/rpc-codegen/src/libs/generate.ts"`; `kind`: `"problem-constructor"`; `line`: `116`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"Forbidden"`; `code`: `"saas-demo/demo-endpoint-disabled"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#saas-demo-demo-endpoint-disabled"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The authenticated caller is not allowed to perform the requested action."`; `operatorAction`: `"Review policy, role, tenant, entitlement, and impersonation context."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Request the required permission or choose an allowed action."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/create-croco-app/templates/saas/apps/api-server/src/problems.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `403`; `title`: `"Forbidden"`; \}, \{ `category`: `"ValidationError"`; `code`: `"saas-demo/invalid-jobs-query"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#saas-demo-invalid-jobs-query"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/create-croco-app/templates/saas/apps/api-server/src/problems.ts"`; `kind`: `"problem-class"`; `line`: `30`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"saas-demo/invalid-port"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#saas-demo-invalid-port"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/create-croco-app/templates/saas/apps/api-server/src/problems.ts"`; `kind`: `"problem-class"`; `line`: `17`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"NotFound"`; `code`: `"saas-demo/job-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#saas-demo-job-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/create-croco-app/templates/saas/apps/api-server/src/problems.ts"`; `kind`: `"problem-class"`; `line`: `39`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"saas-demo/smoke-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#saas-demo-smoke-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/create-croco-app/templates/saas/apps/api-server/src/problems.ts"`; `kind`: `"problem-class"`; `line`: `66`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"saas-demo/tenant-already-exists"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#saas-demo-tenant-already-exists"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/create-croco-app/templates/saas/apps/api-server/src/problems.ts"`; `kind`: `"problem-class"`; `line`: `48`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"NotFound"`; `code`: `"saas-demo/tenant-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#saas-demo-tenant-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/create-croco-app/templates/saas/apps/api-server/src/problems.ts"`; `kind`: `"problem-class"`; `line`: `57`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"NotImplemented"`; `code`: `"SEARCH_CAPABILITY_UNAVAILABLE"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#search-capability-unavailable"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested capability is not supported by this runtime or adapter."`; `operatorAction`: `"Check runtime capability declarations and provider maturity documentation."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Use a supported capability or choose an adapter/runtime that provides it."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/search-core/src/libs/problems/SearchProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `65`; \}\]; `status`: `501`; `title`: `"Not Implemented"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"SEARCH_DRIZZLE_INVALID_ROW"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#search-drizzle-invalid-row"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/search-drizzle/src/libs/problems/InvalidSearchRowProblem.ts"`; `kind`: `"problem-class"`; `line`: `7`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"search-core/sync-identity-conflict"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#search-core-sync-identity-conflict"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The event envelope tenant or document identity conflicts with context.tenantId, payload.id, or payload.tenantId."`; `operatorAction`: `"Use extensions.source to identify the conflicting field and verify envelope-authoritative tenant and document identity propagation."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Correct the conflicting event or execution context, then replay the event."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/search-core/src/libs/problems/SearchProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `23`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"NotFound"`; `code`: `"search-core/transform-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#search-core-transform-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/search-core/src/libs/problems/SearchProblems.ts"`; `kind`: `"problem-class"`; `line`: `35`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"NotFound"`; `code`: `"search-meilisearch/index-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#search-meilisearch-index-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/search-meilisearch/src/libs/problems/MeilisearchProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `80`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"ValidationError"`; `code`: `"search-meilisearch/invalid-request"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#search-meilisearch-invalid-request"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/search-meilisearch/src/libs/problems/MeilisearchProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `60`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"search-meilisearch/missing-config"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#search-meilisearch-missing-config"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/search-meilisearch/src/libs/problems/MeilisearchProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `39`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"search-meilisearch/retryable-upstream"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#search-meilisearch-retryable-upstream"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/search-meilisearch/src/libs/problems/MeilisearchProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `100`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"search-meilisearch/tenant-token-not-configured"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#search-meilisearch-tenant-token-not-configured"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/search-meilisearch/src/libs/problems/MeilisearchProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `140`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"search-meilisearch/terminal-upstream"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#search-meilisearch-terminal-upstream"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/search-meilisearch/src/libs/problems/MeilisearchProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `120`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Forbidden"`; `code`: `"SEAT_LIMIT_EXCEEDED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#seat-limit-exceeded"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The authenticated caller is not allowed to perform the requested action."`; `operatorAction`: `"Review policy, role, tenant, entitlement, and impersonation context."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Request the required permission or choose an allowed action."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/membership-core/src/libs/problems/MembershipProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `78`; \}\]; `status`: `403`; `title`: `"Forbidden"`; \}, \{ `category`: `"Forbidden"`; `code`: `"SELF_IMPERSONATION_NOT_ALLOWED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#self-impersonation-not-allowed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The authenticated caller is not allowed to perform the requested action."`; `operatorAction`: `"Review policy, role, tenant, entitlement, and impersonation context."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Request the required permission or choose an allowed action."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/impersonation-core/src/libs/problems/ImpersonationProblems.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `403`; `title`: `"Forbidden"`; \}, \{ `category`: `"ValidationError"`; `code`: `"starter/invalid-environment"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#starter-invalid-environment"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/create-croco-app/templates/spa-be-split/apps/api-server/src/problems.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"starter/unhandled-api-request"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#starter-unhandled-api-request"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/create-croco-app/templates/spa-be-split/apps/console-web/src/test/browser.ts"`; `kind`: `"problem-class"`; `line`: `8`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"NotFound"`; `code`: `"starter/user-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#starter-user-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/create-croco-app/templates/spa-be-split/apps/api-server/src/problems.ts"`; `kind`: `"problem-class"`; `line`: `13`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"STORAGE_DELETE_FAILED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#storage-delete-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/storage-core/src/libs/problems/DeleteFailedProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `8`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"NotFound"`; `code`: `"STORAGE_FILE_NOT_FOUND"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#storage-file-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/storage-core/src/libs/problems/FileNotFoundProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `11`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"BadRequest"`; `code`: `"STORAGE_INVALID_KEY"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#storage-invalid-key"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/storage-core/src/libs/problems/InvalidKeyProblem.ts"`; `kind`: `"problem-class"`; `line`: `5`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"BadRequest"`; `code`: `"STORAGE_INVALID_SIGNED_URL_EXPIRY"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#storage-invalid-signed-url-expiry"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/storage-core/src/libs/problems/InvalidSignedUrlExpiryProblem.ts"`; `kind`: `"problem-class"`; `line`: `9`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"STORAGE_R2_EMPTY_BODY"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#storage-r2-empty-body"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/storage-r2/src/libs/problems/EmptyR2BodyProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `9`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"STORAGE_R2_MISSING_CONFIG"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#storage-r2-missing-config"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/storage-r2/src/libs/problems/MissingR2ConfigProblem.ts"`; `kind`: `"problem-class"`; `line`: `8`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"STORAGE_R2_OBJECT_TOO_LARGE"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#storage-r2-object-too-large"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/storage-r2/src/libs/problems/R2ObjectTooLargeProblem.ts"`; `kind`: `"problem-class"`; `line`: `8`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"STORAGE_R2_READINESS_FAILED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#storage-r2-readiness-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/storage-r2/src/libs/problems/R2ReadinessProblem.ts"`; `kind`: `"problem-class"`; `line`: `14`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"STORAGE_UPLOAD_FAILED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#storage-upload-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/storage-core/src/libs/problems/UploadFailedProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `11`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"storage-cloudflare/missing-config"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#storage-cloudflare-missing-config"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/storage-cloudflare/src/libs/CloudflareImagesDiagnosticsProvider.ts"`; `kind`: `"problem-constructor"`; `line`: `37`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"storage-cloudflare/retryable-upstream"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#storage-cloudflare-retryable-upstream"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/storage-cloudflare/src/libs/CloudflareImagesDiagnosticsProvider.ts"`; `kind`: `"problem-constructor"`; `line`: `70`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"storage-cloudflare/terminal-upstream"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#storage-cloudflare-terminal-upstream"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/storage-cloudflare/src/libs/CloudflareImagesDiagnosticsProvider.ts"`; `kind`: `"problem-constructor"`; `line`: `86`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"storage-cloudflare/validation-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#storage-cloudflare-validation-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/storage-cloudflare/src/libs/CloudflareImagesDiagnosticsProvider.ts"`; `kind`: `"problem-constructor"`; `line`: `57`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"storage-cloudinary/invalid-upload-intent-ttl"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#storage-cloudinary-invalid-upload-intent-ttl"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `13`; `file`: `"packages/storage-cloudinary/src/libs/CloudinaryProvider.ts"`; `kind`: `"problem-factory"`; `line`: `332`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"storage-cloudinary/missing-config"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#storage-cloudinary-missing-config"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/storage-cloudinary/src/libs/CloudinaryDiagnosticsProvider.ts"`; `kind`: `"problem-constructor"`; `line`: `51`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"storage-cloudinary/retryable-upstream"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#storage-cloudinary-retryable-upstream"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/storage-cloudinary/src/libs/CloudinaryDiagnosticsProvider.ts"`; `kind`: `"problem-constructor"`; `line`: `84`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"storage-cloudinary/terminal-upstream"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#storage-cloudinary-terminal-upstream"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/storage-cloudinary/src/libs/CloudinaryDiagnosticsProvider.ts"`; `kind`: `"problem-constructor"`; `line`: `100`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"storage-cloudinary/validation-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#storage-cloudinary-validation-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/storage-cloudinary/src/libs/CloudinaryDiagnosticsProvider.ts"`; `kind`: `"problem-constructor"`; `line`: `71`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"storage/invalid-upload-intent-ttl"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#storage-invalid-upload-intent-ttl"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `13`; `file`: `"packages/storage-cloudflare/src/libs/CloudflareImagesProvider.ts"`; `kind`: `"problem-factory"`; `line`: `306`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"STRATEGY_UNAVAILABLE"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#strategy-unavailable"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/search-core/src/libs/problems/SearchProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `44`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"STRUCTURED_OUTPUT_ERROR"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#structured-output-error"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/llm-core/src/libs/problems/LlmServiceProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `52`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"tasks-core/duplicate-task-registration"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tasks-core-duplicate-task-registration"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/tasks-core/src/libs/problems/TasksProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `13`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"tasks-core/execution-timeout"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tasks-core-execution-timeout"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/tasks-core/src/libs/problems/TasksProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `46`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"NotFound"`; `code`: `"tasks-core/task-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tasks-core-task-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/tasks-core/src/libs/problems/TasksProblems.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"tasks-core/task-runner-di-failure"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tasks-core-task-runner-di-failure"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/tasks-core/src/libs/problems/TasksProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `29`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"tasks-qstash/invalid-publish-request"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tasks-qstash-invalid-publish-request"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/tasks-qstash/src/libs/problems/QStashTaskProblems.ts"`; `kind`: `"problem-class"`; `line`: `18`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"tasks-qstash/missing-config"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tasks-qstash-missing-config"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/tasks-qstash/src/libs/problems/QStashTaskProblems.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"TELEMETRY_AUTO_INSTRUMENTATION_INVALID_CONFIG"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#telemetry-auto-instrumentation-invalid-config"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/telemetry-sdk-node/src/libs/problems/TelemetryAutoInstrumentationProblem.ts"`; `kind`: `"problem-class"`; `line`: `7`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"NotImplemented"`; `code`: `"TELEMETRY_FORCE_FLUSH_UNSUPPORTED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#telemetry-force-flush-unsupported"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested capability is not supported by this runtime or adapter."`; `operatorAction`: `"Check runtime capability declarations and provider maturity documentation."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Use a supported capability or choose an adapter/runtime that provides it."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/telemetry-sdk-node/src/libs/problems/TelemetryProblems.ts"`; `kind`: `"problem-class"`; `line`: `101`; \}\]; `status`: `501`; `title`: `"Not Implemented"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"TELEMETRY_RUNTIME_ERROR"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#telemetry-runtime-error"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/telemetry-sdk-node/src/libs/problems/TelemetryProblems.ts"`; `kind`: `"problem-class"`; `line`: `114`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"TELEMETRY_SAMPLER_INVALID_CONFIG"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#telemetry-sampler-invalid-config"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/telemetry-sdk-node/src/libs/problems/TelemetryProblems.ts"`; `kind`: `"problem-class"`; `line`: `7`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"BadRequest"`; `code`: `"TELEMETRY_SIGNAL_UNSUPPORTED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#telemetry-signal-unsupported"`; `lifecycle`: \{ `deprecation`: \{ `migrationNote`: `"Stop branching on TELEMETRY_SIGNAL_UNSUPPORTED and remove metrics or logs options from TelemetryConfig consumers."`; `noReplacementReason`: `"The trace-only runtime has no unsupported signal configuration path to replace this code."`; `reason`: `"The telemetry SDK no longer exposes non-executable metrics or logs configuration."`; \}; `status`: `"deprecated"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/telemetry-sdk-node/src/libs/problems/TelemetryProblems.ts"`; `kind`: `"problem-class"`; `line`: `83`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"telemetry-sdk-node/batch-configuration-invalid"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#telemetry-sdk-node-batch-configuration-invalid"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"BatchSpanProcessor tuning violates the telemetry timeout, queue-size, or export-batch contract."`; `operatorAction`: `"Use the reported field and constraint to set batchTimeout within 0..2147483647, batchCount and batchSize within 1..2147483647, and batchSize no greater than batchCount."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Ask the operator to correct the telemetry batch configuration before restarting the service."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/telemetry-sdk-node/src/libs/problems/TelemetryProblems.ts"`; `kind`: `"problem-class"`; `line`: `42`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Forbidden"`; `code`: `"tenant-core/admin-bypass-reason-required"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tenant-core-admin-bypass-reason-required"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The authenticated caller is not allowed to perform the requested action."`; `operatorAction`: `"Review policy, role, tenant, entitlement, and impersonation context."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Request the required permission or choose an allowed action."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/tenant-core/src/libs/problems/TenantIsolationProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `60`; \}\]; `status`: `403`; `title`: `"Forbidden"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"tenant-core/cross-tenant-leak"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tenant-core-cross-tenant-leak"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/tenant-core/src/libs/problems/TenantIsolationProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `79`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"tenant-core/default-tenant-fallback"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tenant-core-default-tenant-fallback"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/tenant-core/src/libs/problems/TenantIsolationProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `48`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"tenant-core/duplicate-tenant-manager-registration"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tenant-core-duplicate-tenant-manager-registration"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/tenant-core/src/libs/problems/DuplicateTenantManagerRegistrationProblem.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Unauthorized"`; `code`: `"tenant-core/isolation-context-missing"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tenant-core-isolation-context-missing"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request did not include valid authentication credentials."`; `operatorAction`: `"Check authentication configuration, token issuer, and clock skew."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Sign in again or provide a valid credential."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/tenant-core/src/libs/problems/TenantIsolationProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `39`; \}\]; `status`: `401`; `title`: `"Unauthorized"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"tenant-core/tenant-manager-not-registered"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tenant-core-tenant-manager-not-registered"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/tenant-core/src/libs/problems/TenantManagerNotRegisteredProblem.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Forbidden"`; `code`: `"tenant-core/unsafe-query"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tenant-core-unsafe-query"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The authenticated caller is not allowed to perform the requested action."`; `operatorAction`: `"Review policy, role, tenant, entitlement, and impersonation context."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Request the required permission or choose an allowed action."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/tenant-core/src/libs/problems/TenantIsolationProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `69`; \}\]; `status`: `403`; `title`: `"Forbidden"`; \}, \{ `category`: `"NotFound"`; `code`: `"tenant/not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tenant-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/tenant-core/src/libs/problems/TenantNotFoundProblem.ts"`; `kind`: `"problem-class"`; `line`: `7`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"Unauthorized"`; `code`: `"tenant/required"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tenant-required"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request did not include valid authentication credentials."`; `operatorAction`: `"Check authentication configuration, token issuer, and clock skew."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Sign in again or provide a valid credential."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/tenant-core/src/libs/problems/TenantRequiredProblem.ts"`; `kind`: `"problem-class"`; `line`: `7`; \}\]; `status`: `401`; `title`: `"Unauthorized"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"testing-resources/cleanup-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#testing-resources-cleanup-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `12`; `file`: `"packages/testing-resources/src/libs/problems.ts"`; `kind`: `"problem-metadata"`; `line`: `17`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"testing-resources/health-check-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#testing-resources-health-check-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `19`; `file`: `"packages/testing-resources/src/libs/problems.ts"`; `kind`: `"problem-metadata"`; `line`: `13`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"testing-resources/invalid-configuration"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#testing-resources-invalid-configuration"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/testing-resources/src/libs/problems.ts"`; `kind`: `"problem-constructor"`; `line`: `25`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"testing-resources/migration-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#testing-resources-migration-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `14`; `file`: `"packages/testing-resources/src/libs/problems.ts"`; `kind`: `"problem-metadata"`; `line`: `9`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"testing-resources/startup-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#testing-resources-startup-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `12`; `file`: `"packages/testing-resources/src/libs/problems.ts"`; `kind`: `"problem-metadata"`; `line`: `5`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"testing/after-commit-hooks-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#testing-after-commit-hooks-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/testing/src/libs/testing.ts"`; `kind`: `"problem-constructor"`; `line`: `184`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"testing/telemetry-provider-already-installed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#testing-telemetry-provider-already-installed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/testing/src/libs/telemetry-testing.ts"`; `kind`: `"problem-constructor"`; `line`: `54`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"testing/test-kernel-disposal-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#testing-test-kernel-disposal-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/testing/src/libs/TestKernel.ts"`; `kind`: `"problem-constructor"`; `line`: `189`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"testing/test-kernel-disposed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#testing-test-kernel-disposed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/testing/src/libs/TestKernel.ts"`; `kind`: `"problem-constructor"`; `line`: `217`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"testing/test-kernel-leak"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#testing-test-kernel-leak"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/testing/src/libs/TestKernel.ts"`; `kind`: `"problem-constructor"`; `line`: `227`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"testing/test-kernel-outbound-call"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#testing-test-kernel-outbound-call"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/testing/src/libs/TestRuntime.ts"`; `kind`: `"problem-constructor"`; `line`: `49`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"testing/test-kernel-resource-fidelity"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#testing-test-kernel-resource-fidelity"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/testing/src/libs/TestKernel.ts"`; `kind`: `"problem-constructor"`; `line`: `238`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"testing/test-kernel-resource-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#testing-test-kernel-resource-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/testing/src/libs/TestKernel.ts"`; `kind`: `"problem-constructor"`; `line`: `254`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"testing/test-kernel-resource-registration"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#testing-test-kernel-resource-registration"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/testing/src/libs/TestKernel.ts"`; `kind`: `"problem-constructor"`; `line`: `267`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"testing/test-kernel-validation-policy"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#testing-test-kernel-validation-policy"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/testing/src/libs/TestKernel.ts"`; `kind`: `"problem-constructor"`; `line`: `176`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"testing/test-runtime-configuration"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#testing-test-runtime-configuration"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/testing/src/libs/TestRuntime.ts"`; `kind`: `"problem-constructor"`; `line`: `65`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"testing/test-runtime-drain-limit"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#testing-test-runtime-drain-limit"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/testing/src/libs/TestRuntime.ts"`; `kind`: `"problem-constructor"`; `line`: `76`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"testing/transaction-context-not-active"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#testing-transaction-context-not-active"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/testing/src/libs/testing.ts"`; `kind`: `"problem-constructor"`; `line`: `171`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"TOKEN_LIMIT_EXCEEDED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#token-limit-exceeded"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/llm-core/src/libs/problems/LlmProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `38`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"TOOL_EXECUTION_ERROR"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tool-execution-error"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/llm-core/src/libs/problems/LlmServiceProblem.ts"`; `kind`: `"problem-constructor"`; `line`: `61`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"transports-graphql/request-body-aborted"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#transports-graphql-request-body-aborted"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/transports-graphql/src/libs/problems/GraphQLTransportProblems.ts"`; `kind`: `"problem-class"`; `line`: `47`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"PayloadTooLarge"`; `code`: `"transports-graphql/request-body-too-large"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#transports-graphql-request-body-too-large"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request body exceeded the configured byte limit."`; `operatorAction`: `"Confirm route body limits and upstream proxy limits match the intended upload policy."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Reduce the request body and retry."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/transports-graphql/src/libs/problems/GraphQLTransportProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `33`; \}\]; `status`: `413`; `title`: `"Payload Too Large"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"transports-graphql/resolvers-not-configured"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#transports-graphql-resolvers-not-configured"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/transports-graphql/src/libs/problems/GraphQLTransportProblems.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"transports-graphql/schema-not-configured"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#transports-graphql-schema-not-configured"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/transports-graphql/src/libs/problems/GraphQLTransportProblems.ts"`; `kind`: `"problem-class"`; `line`: `16`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"transports-graphql/server-not-initialized"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#transports-graphql-server-not-initialized"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/transports-graphql/src/libs/problems/GraphQLTransportProblems.ts"`; `kind`: `"problem-class"`; `line`: `24`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"transports-http/body-limit-invalid-configuration"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#transports-http-body-limit-invalid-configuration"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The HTTP body-limit middleware was configured with an invalid byte boundary."`; `operatorAction`: `"Set the body-limit value to a finite, nonnegative safe integer and restart the service."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Ask the operator to correct the service configuration before retrying."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/transports-http/src/libs/problems/HttpRequestBodyProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `15`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"transports-http/di-bootstrap-validation"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#transports-http-di-bootstrap-validation"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `11`; `file`: `"packages/transports-http/src/libs/CrocoApp.ts"`; `kind`: `"problem-factory"`; `line`: `315`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"transports-http/diagnostics-invalid-configuration"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#transports-http-diagnostics-invalid-configuration"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The operational diagnostics endpoint was configured with an invalid response-size limit."`; `operatorAction`: `"Set recentErrorLimit to a finite nonnegative safe integer and messageLimit to a finite positive safe integer, then restart the service."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Ask the operator to correct the service configuration before retrying."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/transports-http/src/libs/problems/DiagnosticsEndpointProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `22`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"transports-http/duplicate-health-check"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#transports-http-duplicate-health-check"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `10`; `file`: `"packages/transports-http/src/libs/HealthCheckRegistry.ts"`; `kind`: `"problem-factory"`; `line`: `71`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"transports-http/duplicate-route-definition"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#transports-http-duplicate-route-definition"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Two REST controller methods compile to the same HTTP method and runtime path."`; `operatorAction`: `"Inspect the duplicate-route diagnostic for the existing and conflicting controller methods and their route decorator source locations, then rename one route path or change one HTTP method."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Use an application build where every route decorator has a unique HTTP method and path combination."`; \}; `sources`: readonly \[\{ `column`: `15`; `file`: `"packages/transports-http/src/libs/RouteCompiler.ts"`; `kind`: `"problem-factory"`; `line`: `118`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"transports-http/graceful-shutdown-configuration"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#transports-http-graceful-shutdown-configuration"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Graceful shutdown was configured with a non-finite total or event-bus drain timeout."`; `operatorAction`: `"Set timeoutMs and eventBusDrainTimeoutMs to finite numbers, then reconstruct the middleware or controller before retrying shutdown."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Ask the operator to correct the graceful shutdown timeout configuration before reconstructing the HTTP application."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/transports-http/src/libs/problems/GracefulShutdownProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `20`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"transports-http/graceful-shutdown-timeout"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#transports-http-graceful-shutdown-timeout"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Graceful shutdown did not finish a phase before that phase's configured deadline elapsed."`; `operatorAction`: `"Inspect the reported phase, timeoutMs, and elapsedMs extensions, then investigate slow request handlers, event-bus draining, or shutdown hooks."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Wait for the stalled shutdown phase to be investigated before retrying; active requests or cleanup work may still be settling."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/transports-http/src/libs/problems/GracefulShutdownProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `47`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"transports-http/middleware-next-called-multiple-times"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#transports-http-middleware-next-called-multiple-times"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Compatibility metadata for the previous HTTP middleware multiple-next code. New runtime failures use CROCO_HTTP_MIDDLEWARE_002 and preserve this value as extensions.legacyCode."`; `operatorAction`: `"Update dashboards, alerts, and runbooks from transports-http/middleware-next-called-multiple-times to CROCO_HTTP_MIDDLEWARE_002 before removing legacy-code matching."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Migrate Problem.code matchers to CROCO_HTTP_MIDDLEWARE_002; use extensions.legacyCode only while rolling out compatibility changes."`; \}; `sources`: readonly \[\{ `column`: `49`; `file`: `"packages/transports-http/src/libs/CrocoRouteRegistrar.ts"`; `kind`: `"problem-metadata"`; `line`: `39`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"transports-http/pipe-resolution-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#transports-http-pipe-resolution-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `13`; `file`: `"packages/transports-http/src/libs/ParamResolver.ts"`; `kind`: `"problem-factory"`; `line`: `184`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"transports-http/provider-resolution-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#transports-http-provider-resolution-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `11`; `file`: `"packages/transports-http/src/libs/RouteCompiler.ts"`; `kind`: `"problem-factory"`; `line`: `70`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"transports-http/request-body-read-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#transports-http-request-body-read-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/transports-http/src/libs/problems/HttpRequestBodyProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `67`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"PayloadTooLarge"`; `code`: `"transports-http/request-body-too-large"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#transports-http-request-body-too-large"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request body exceeded the configured byte limit."`; `operatorAction`: `"Confirm route body limits and upstream proxy limits match the intended upload policy."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Reduce the request body and retry."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/transports-http/src/libs/problems/HttpRequestBodyProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `31`; \}\]; `status`: `413`; `statusPolicy`: \{ `configuration`: `"bodyLimitMiddleware.statusCode"`; `defaultStatus`: `413`; `kind`: `"runtime-configurable"`; \}; `title`: `"Payload Too Large"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"transports-http/request-body-unavailable"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#transports-http-request-body-unavailable"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/transports-http/src/libs/problems/HttpRequestBodyProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `52`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"transports-http/route-method-not-function"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#transports-http-route-method-not-function"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `17`; `file`: `"packages/transports-http/src/libs/RouteCompiler.ts"`; `kind`: `"problem-factory"`; `line`: `193`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"transports-http/runtime-capability-invalid"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#transports-http-runtime-capability-invalid"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/transports-http/src/libs/runtimeContext.ts"`; `kind`: `"problem-class"`; `line`: `101`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"transports-http/security-middleware-validation"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#transports-http-security-middleware-validation"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Compatibility metadata for the previous HTTP security middleware validation code. New runtime failures use CROCO_HTTP_SECURITY_001 and preserve this value as extensions.legacyCode."`; `operatorAction`: `"Update dashboards, alerts, and runbooks from transports-http/security-middleware-validation to CROCO_HTTP_SECURITY_001 before removing legacy-code matching."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Migrate Problem.code matchers to CROCO_HTTP_SECURITY_001; use extensions.legacyCode only while rolling out compatibility changes."`; \}; `sources`: readonly \[\{ `column`: `55`; `file`: `"packages/transports-http/src/libs/CrocoApp.ts"`; `kind`: `"problem-metadata"`; `line`: `88`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"transports-http/unsupported-route-method"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#transports-http-unsupported-route-method"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `15`; `file`: `"packages/transports-http/src/libs/CrocoRouteRegistrar.ts"`; `kind`: `"problem-factory"`; `line`: `245`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"triggers-core/duplicate-trigger-metadata"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#triggers-core-duplicate-trigger-metadata"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `17`; `file`: `"packages/triggers-core/src/libs/TriggerRegistry.ts"`; `kind`: `"problem-factory"`; `line`: `69`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"triggers-core/duplicate-trigger-metadata-entry"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#triggers-core-duplicate-trigger-metadata-entry"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `17`; `file`: `"packages/triggers-core/src/libs/TriggerRegistry.ts"`; `kind`: `"problem-factory"`; `line`: `121`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"triggers-qstash/duplicate-schedule-id"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#triggers-qstash-duplicate-schedule-id"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `15`; `file`: `"packages/triggers-qstash/src/libs/QStashScheduler.ts"`; `kind`: `"problem-factory"`; `line`: `253`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"triggers-qstash/execution-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#triggers-qstash-execution-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `13`; `file`: `"packages/triggers-qstash/src/libs/QStashTriggerHandler.ts"`; `kind`: `"problem-metadata"`; `line`: `264`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"triggers-qstash/service-resolution-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#triggers-qstash-service-resolution-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `15`; `file`: `"packages/triggers-qstash/src/libs/QStashTriggerHandler.ts"`; `kind`: `"problem-metadata"`; `line`: `254`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Forbidden"`; `code`: `"TRPC_ACCESS_DENIED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#trpc-access-denied"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The authenticated caller is not allowed to perform the requested action."`; `operatorAction`: `"Review policy, role, tenant, entitlement, and impersonation context."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Request the required permission or choose an allowed action."`; \}; `sources`: readonly \[\{ `column`: `15`; `file`: `"packages/protocols-trpc/src/libs/TrpcExecutionPipeline.ts"`; `kind`: `"problem-factory"`; `line`: `40`; \}\]; `status`: `403`; `title`: `"Forbidden"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"tx-core/after-commit-hooks-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tx-core-after-commit-hooks-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/tx-core/src/libs/problems/TransactionProblems.ts"`; `kind`: `"problem-class"`; `line`: `103`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"tx-core/after-commit-outcome-required"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tx-core-after-commit-outcome-required"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/tx-core/src/libs/problems/TransactionProblems.ts"`; `kind`: `"problem-class"`; `line`: `35`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"tx-core/after-commit-registration-closed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tx-core-after-commit-registration-closed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/tx-core/src/libs/problems/TransactionProblems.ts"`; `kind`: `"problem-class"`; `line`: `50`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"tx-core/decorator-misuse"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tx-core-decorator-misuse"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/tx-core/src/libs/problems/TransactionProblems.ts"`; `kind`: `"problem-class"`; `line`: `13`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"tx-core/detached-transaction-operation"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tx-core-detached-transaction-operation"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/tx-core/src/libs/problems/TransactionProblems.ts"`; `kind`: `"problem-class"`; `line`: `61`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"tx-core/duplicate-tx-manager-registration"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tx-core-duplicate-tx-manager-registration"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/tx-core/src/libs/errors.ts"`; `kind`: `"problem-class"`; `line`: `7`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"tx-core/invalid-transaction-timeout"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tx-core-invalid-transaction-timeout"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/tx-core/src/libs/problems/TransactionProblems.ts"`; `kind`: `"problem-class"`; `line`: `87`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"tx-core/manager-not-registered"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tx-core-manager-not-registered"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/tx-core/src/libs/errors.ts"`; `kind`: `"problem-class"`; `line`: `23`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"tx-core/missing-transaction-context"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tx-core-missing-transaction-context"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/tx-core/src/libs/problems/TransactionProblems.ts"`; `kind`: `"problem-class"`; `line`: `24`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"tx-core/outcome-requires-root"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tx-core-outcome-requires-root"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/tx-core/src/libs/problems/TransactionProblems.ts"`; `kind`: `"problem-class"`; `line`: `76`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"BusinessRuleViolation"`; `code`: `"tx-core/propagation-error"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tx-core-propagation-error"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request is syntactically valid but violates a domain rule."`; `operatorAction`: `"Review domain policy, entitlement, quota, and lifecycle rule evidence."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Change the workflow state or request values so the business rule is satisfied."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/tx-core/src/libs/errors.ts"`; `kind`: `"problem-class"`; `line`: `34`; \}\]; `status`: `422`; `title`: `"Business Rule Violation"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"tx-core/transaction-outcome-unknown"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tx-core-transaction-outcome-unknown"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/tx-core/src/libs/problems/TransactionProblems.ts"`; `kind`: `"problem-class"`; `line`: `165`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"tx-core/transaction-rollback-confirmed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tx-core-transaction-rollback-confirmed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/tx-core/src/libs/problems/TransactionProblems.ts"`; `kind`: `"problem-class"`; `line`: `147`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"tx-core/transaction-timeout"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tx-core-transaction-timeout"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/tx-core/src/libs/problems/TransactionProblems.ts"`; `kind`: `"problem-class"`; `line`: `130`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"tx-drizzle/rls-configuration-invalid"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tx-drizzle-rls-configuration-invalid"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"A PostgreSQL RLS helper received malformed static identifier or setting-key configuration."`; `operatorAction`: `"Use the reported field name and the @croco/tx-drizzle RLS contract to correct the configuration, then restart the service."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Ask the operator to correct the RLS configuration before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/tx-drizzle/src/libs/problems/TxDrizzleProblems.ts"`; `kind`: `"problem-class"`; `line`: `7`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"tx-drizzle/rls-debug-logging-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tx-drizzle-rls-debug-logging-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Requested RLS debug logging could not initialize or write its diagnostic event."`; `operatorAction`: `"Provide an RlsLogger or register the framework Logger, then verify its info() output path before retrying the transaction."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Ask the operator to restore the configured logger before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/tx-drizzle/src/libs/problems/TxDrizzleProblems.ts"`; `kind`: `"problem-class"`; `line`: `57`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"tx-drizzle/rls-execute-unsupported"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tx-drizzle-rls-execute-unsupported"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/tx-drizzle/src/libs/problems/TxDrizzleProblems.ts"`; `kind`: `"problem-class"`; `line`: `29`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"tx-drizzle/savepoint-unsupported"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tx-drizzle-savepoint-unsupported"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/tx-drizzle/src/libs/problems/TxDrizzleProblems.ts"`; `kind`: `"problem-class"`; `line`: `76`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"tx-drizzle/tenant-context-required"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#tx-drizzle-tenant-context-required"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/tx-drizzle/src/libs/problems/TxDrizzleProblems.ts"`; `kind`: `"problem-class"`; `line`: `21`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Unauthorized"`; `code`: `"UNAUTHORIZED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#unauthorized"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request did not include valid authentication credentials."`; `operatorAction`: `"Check authentication configuration, token issuer, and clock skew."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Sign in again or provide a valid credential."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/auth-core/src/libs/problems/AuthProblems.ts"`; `kind`: `"problem-class"`; `line`: `5`; \}\]; `status`: `401`; `title`: `"Unauthorized"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"WEBHOOK_PROCESSING_FAILED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#webhook-processing-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-polar/src/libs/problems/WebhookProcessingProblem.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"WEBHOOK_VALIDATION_FAILED"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#webhook-validation-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/billing-polar/src/libs/problems/WebhookValidationProblem.ts"`; `kind`: `"problem-class"`; `line`: `4`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"webhooks-core/configuration"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#webhooks-core-configuration"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `11`; `file`: `"packages/webhooks-core/src/libs/problems/WebhookProblems.ts"`; `kind`: `"problem-metadata"`; `line`: `38`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"webhooks-core/dispatch-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#webhooks-core-dispatch-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `11`; `file`: `"packages/webhooks-core/src/libs/problems/WebhookProblems.ts"`; `kind`: `"problem-metadata"`; `line`: `117`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"webhooks-core/duplicate-event"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#webhooks-core-duplicate-event"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `11`; `file`: `"packages/webhooks-core/src/libs/problems/WebhookProblems.ts"`; `kind`: `"problem-metadata"`; `line`: `139`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"BadRequest"`; `code`: `"webhooks-core/invalid-envelope"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#webhooks-core-invalid-envelope"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `11`; `file`: `"packages/webhooks-core/src/libs/problems/WebhookProblems.ts"`; `kind`: `"problem-metadata"`; `line`: `74`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"BadRequest"`; `code`: `"webhooks-core/invalid-fixture"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#webhooks-core-invalid-fixture"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `11`; `file`: `"packages/webhooks-core/src/libs/problems/WebhookProblems.ts"`; `kind`: `"problem-metadata"`; `line`: `178`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"BadRequest"`; `code`: `"webhooks-core/invalid-signature"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#webhooks-core-invalid-signature"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `11`; `file`: `"packages/webhooks-core/src/libs/problems/WebhookProblems.ts"`; `kind`: `"problem-metadata"`; `line`: `54`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"Conflict"`; `code`: `"webhooks-core/outbound-acceptance-unknown"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#webhooks-core-outbound-acceptance-unknown"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/webhooks-core/src/libs/outbound/OutboundWebhookProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `97`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"webhooks-core/outbound-configuration"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#webhooks-core-outbound-configuration"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/webhooks-core/src/libs/outbound/OutboundWebhookProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `119`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"NotFound"`; `code`: `"webhooks-core/outbound-endpoint-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#webhooks-core-outbound-endpoint-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/webhooks-core/src/libs/outbound/OutboundWebhookProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `53`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"ValidationError"`; `code`: `"webhooks-core/outbound-invalid-event"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#webhooks-core-outbound-invalid-event"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/webhooks-core/src/libs/outbound/OutboundWebhookProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `31`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"webhooks-core/outbound-invalid-secret-version"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#webhooks-core-outbound-invalid-secret-version"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/webhooks-core/src/libs/outbound/OutboundWebhookProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `64`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"ValidationError"`; `code`: `"webhooks-core/outbound-invalid-url"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#webhooks-core-outbound-invalid-url"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request or generated contract failed schema or semantic validation."`; `operatorAction`: `"Inspect schema diagnostics, generated contracts, and validation metadata."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Fix the invalid fields and retry with schema-conformant input."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/webhooks-core/src/libs/outbound/OutboundWebhookProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `42`; \}\]; `status`: `422`; `title`: `"Validation Error"`; \}, \{ `category`: `"BusinessRuleViolation"`; `code`: `"webhooks-core/outbound-permanent-failure"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#webhooks-core-outbound-permanent-failure"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request is syntactically valid but violates a domain rule."`; `operatorAction`: `"Review domain policy, entitlement, quota, and lifecycle rule evidence."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Change the workflow state or request values so the business rule is satisfied."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/webhooks-core/src/libs/outbound/OutboundWebhookProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `86`; \}\]; `status`: `422`; `title`: `"Business Rule Violation"`; \}, \{ `category`: `"Conflict"`; `code`: `"webhooks-core/outbound-replay-not-allowed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#webhooks-core-outbound-replay-not-allowed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/webhooks-core/src/libs/outbound/OutboundWebhookProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `108`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"webhooks-core/outbound-retryable-failure"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#webhooks-core-outbound-retryable-failure"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/webhooks-core/src/libs/outbound/OutboundWebhookProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `75`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"webhooks-core/reporter-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#webhooks-core-reporter-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `11`; `file`: `"packages/webhooks-core/src/libs/problems/WebhookProblems.ts"`; `kind`: `"problem-metadata"`; `line`: `162`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"BadRequest"`; `code`: `"webhooks-core/unknown-event"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#webhooks-core-unknown-event"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The caller sent malformed input or unsupported request options."`; `operatorAction`: `"Inspect validation details and request logs; do not retry unchanged input."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Correct the request input and retry after validation passes."`; \}; `sources`: readonly \[\{ `column`: `11`; `file`: `"packages/webhooks-core/src/libs/problems/WebhookProblems.ts"`; `kind`: `"problem-metadata"`; `line`: `94`; \}\]; `status`: `400`; `title`: `"Bad Request"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"workflow-core/duplicate-workflow-registration"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#workflow-core-duplicate-workflow-registration"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/workflow-core/src/libs/problems/WorkflowProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `15`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"workflow-core/replay-unsupported"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#workflow-core-replay-unsupported"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/workflow-core/src/libs/problems/WorkflowProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `47`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"workflow-core/saga-definition-invalid"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#workflow-core-saga-definition-invalid"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/workflow-core/src/libs/problems/WorkflowProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `62`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"workflow-core/saga-execution-failed"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#workflow-core-saga-execution-failed"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/workflow-core/src/libs/problems/WorkflowProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `127`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"NotFound"`; `code`: `"workflow-core/saga-execution-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#workflow-core-saga-execution-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/workflow-core/src/libs/problems/WorkflowProblems.ts"`; `kind`: `"problem-class"`; `line`: `77`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"workflow-core/saga-replay-invalid"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#workflow-core-saga-replay-invalid"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/workflow-core/src/libs/problems/WorkflowProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `103`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"Conflict"`; `code`: `"workflow-core/saga-store-conflict"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#workflow-core-saga-store-conflict"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The request conflicts with current state or an idempotency constraint."`; `operatorAction`: `"Inspect concurrent writes, idempotency keys, and uniqueness constraints."`; `redactionPolicy`: `"safe-message"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.warning"`; `severity`: `"warning"`; \}; `userAction`: `"Refresh state, resolve the conflict, and retry with the updated intent."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/workflow-core/src/libs/problems/WorkflowProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `92`; \}\]; `status`: `409`; `title`: `"Conflict"`; \}, \{ `category`: `"InternalServerError"`; `code`: `"workflow-core/workflow-definition-invalid"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#workflow-core-workflow-definition-invalid"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"Croco or an upstream dependency failed after accepting the request."`; `operatorAction`: `"Use traces, logs, and upstream diagnostics to isolate the failing boundary."`; `redactionPolicy`: `"operator-only"`; `retryability`: `"conditional"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.error"`; `severity`: `"error"`; \}; `userAction`: `"Retry later only when the operation is idempotent or the caller owns retry safety."`; \}; `sources`: readonly \[\{ `column`: `5`; `file`: `"packages/workflow-core/src/libs/problems/WorkflowProblems.ts"`; `kind`: `"problem-constructor"`; `line`: `31`; \}\]; `status`: `500`; `title`: `"Internal Server Error"`; \}, \{ `category`: `"NotFound"`; `code`: `"workflow-core/workflow-not-found"`; `cookbookPath`: `"/reference/problem-recovery-cookbook/#workflow-core-workflow-not-found"`; `lifecycle`: \{ `status`: `"active"`; \}; `recovery`: \{ `cause`: `"The requested resource or route-visible record does not exist."`; `operatorAction`: `"Confirm tenant scoping, data retention, and backing-store lookup behavior."`; `redactionPolicy`: `"public"`; `retryability`: `"not-retryable"`; `telemetry`: \{ `attributes`: readonly \[`"problem.code"`, `"problem.category"`, `"problem.status"`\]; `eventName`: `"croco.problem.info"`; `severity`: `"info"`; \}; `userAction`: `"Verify the identifier and refresh the resource list before retrying."`; \}; `sources`: readonly \[\{ `column`: `3`; `file`: `"packages/workflow-core/src/libs/problems/WorkflowProblems.ts"`; `kind`: `"problem-class"`; `line`: `5`; \}\]; `status`: `404`; `title`: `"Not Found"`; \}\]
### version
diff --git a/packages/docs/src/content/docs/api/transports-http/src/classes/DiagnosticsConfigurationProblem.md b/packages/docs/src/content/docs/api/transports-http/src/classes/DiagnosticsConfigurationProblem.md
new file mode 100644
index 000000000..3f2a0d985
--- /dev/null
+++ b/packages/docs/src/content/docs/api/transports-http/src/classes/DiagnosticsConfigurationProblem.md
@@ -0,0 +1,306 @@
+---
+editUrl: false
+next: false
+prev: false
+title: "DiagnosticsConfigurationProblem"
+---
+
+Operational diagnostics received an invalid response-size limit.
+
+## Extends
+
+- [`Problem`](/api/problems-core/src/classes/problem/)
+
+## Constructors
+
+### Constructor
+
+> **new DiagnosticsConfigurationProblem**(`options`): `DiagnosticsConfigurationProblem`
+
+#### Parameters
+
+##### options
+
+[`DiagnosticsConfigurationProblemOptions`](/api/transports-http/src/type-aliases/diagnosticsconfigurationproblemoptions/)
+
+#### Returns
+
+`DiagnosticsConfigurationProblem`
+
+#### Overrides
+
+`Problem.constructor`
+
+## Properties
+
+### category
+
+> `readonly` **category**: [`ProblemCategory`](/api/problems-core/src/enumerations/problemcategory/)
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`category`](/api/problems-core/src/classes/problem/#category)
+
+***
+
+### cause?
+
+> `readonly` `optional` **cause?**: `Error`
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`cause`](/api/problems-core/src/classes/problem/#cause)
+
+***
+
+### code
+
+> `readonly` **code**: `string`
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`code`](/api/problems-core/src/classes/problem/#code)
+
+***
+
+### detail?
+
+> `readonly` `optional` **detail?**: `string`
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`detail`](/api/problems-core/src/classes/problem/#detail)
+
+***
+
+### extensions?
+
+> `readonly` `optional` **extensions?**: [`ProblemExtensions`](/api/problems-core/src/type-aliases/problemextensions/)
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`extensions`](/api/problems-core/src/classes/problem/#extensions)
+
+***
+
+### instance?
+
+> `readonly` `optional` **instance?**: `string`
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`instance`](/api/problems-core/src/classes/problem/#instance)
+
+***
+
+### message
+
+> **message**: `string`
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`message`](/api/problems-core/src/classes/problem/#message)
+
+***
+
+### name
+
+> **name**: `string`
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`name`](/api/problems-core/src/classes/problem/#name)
+
+***
+
+### option
+
+> `readonly` **option**: [`DiagnosticsLimitOption`](/api/transports-http/src/type-aliases/diagnosticslimitoption/)
+
+***
+
+### receivedValue
+
+> `readonly` **receivedValue**: `string`
+
+***
+
+### stack?
+
+> `optional` **stack?**: `string`
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`stack`](/api/problems-core/src/classes/problem/#stack)
+
+***
+
+### type
+
+> `readonly` **type**: `string`
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`type`](/api/problems-core/src/classes/problem/#type)
+
+***
+
+### stackTraceLimit
+
+> `static` **stackTraceLimit**: `number`
+
+The `Error.stackTraceLimit` property specifies the number of stack frames
+collected by a stack trace (whether generated by `new Error().stack` or
+`Error.captureStackTrace(obj)`).
+
+The default value is `10` but may be set to any valid JavaScript number. Changes
+will affect any stack trace captured _after_ the value has been changed.
+
+If set to a non-number value, or set to a negative number, stack traces will
+not capture any frames.
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`stackTraceLimit`](/api/problems-core/src/classes/problem/#stacktracelimit)
+
+## Accessors
+
+### status
+
+#### Get Signature
+
+> **get** **status**(): `number`
+
+##### Returns
+
+`number`
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`status`](/api/problems-core/src/classes/problem/#status)
+
+***
+
+### title
+
+#### Get Signature
+
+> **get** **title**(): `string`
+
+##### Returns
+
+`string`
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`title`](/api/problems-core/src/classes/problem/#title)
+
+## Methods
+
+### toJSON()
+
+> **toJSON**(): [`ProblemDetails`](/api/problems-core/src/type-aliases/problemdetails/)
+
+#### Returns
+
+[`ProblemDetails`](/api/problems-core/src/type-aliases/problemdetails/)
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`toJSON`](/api/problems-core/src/classes/problem/#tojson)
+
+***
+
+### captureStackTrace()
+
+> `static` **captureStackTrace**(`targetObject`, `constructorOpt?`): `void`
+
+Creates a `.stack` property on `targetObject`, which when accessed returns
+a string representing the location in the code at which
+`Error.captureStackTrace()` was called.
+
+```js
+const myObject = {};
+Error.captureStackTrace(myObject);
+myObject.stack; // Similar to `new Error().stack`
+```
+
+The first line of the trace will be prefixed with
+`${myObject.name}: ${myObject.message}`.
+
+The optional `constructorOpt` argument accepts a function. If given, all frames
+above `constructorOpt`, including `constructorOpt`, will be omitted from the
+generated stack trace.
+
+The `constructorOpt` argument is useful for hiding implementation
+details of error generation from the user. For instance:
+
+```js
+function a() {
+ b();
+}
+
+function b() {
+ c();
+}
+
+function c() {
+ // Create an error without stack trace to avoid calculating the stack trace twice.
+ const { stackTraceLimit } = Error;
+ Error.stackTraceLimit = 0;
+ const error = new Error();
+ Error.stackTraceLimit = stackTraceLimit;
+
+ // Capture the stack trace above function b
+ Error.captureStackTrace(error, b); // Neither function c, nor b is included in the stack trace
+ throw error;
+}
+
+a();
+```
+
+#### Parameters
+
+##### targetObject
+
+`object`
+
+##### constructorOpt?
+
+`Function`
+
+#### Returns
+
+`void`
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`captureStackTrace`](/api/problems-core/src/classes/problem/#capturestacktrace)
+
+***
+
+### prepareStackTrace()
+
+> `static` **prepareStackTrace**(`err`, `stackTraces`): `any`
+
+#### Parameters
+
+##### err
+
+`Error`
+
+##### stackTraces
+
+`CallSite`[]
+
+#### Returns
+
+`any`
+
+#### See
+
+https://v8.dev/docs/stack-trace-api#customizing-stack-traces
+
+#### Inherited from
+
+[`Problem`](/api/problems-core/src/classes/problem/).[`prepareStackTrace`](/api/problems-core/src/classes/problem/#preparestacktrace)
diff --git a/packages/docs/src/content/docs/api/transports-http/src/type-aliases/DiagnosticsConfigurationProblemOptions.md b/packages/docs/src/content/docs/api/transports-http/src/type-aliases/DiagnosticsConfigurationProblemOptions.md
new file mode 100644
index 000000000..cf24e9dc7
--- /dev/null
+++ b/packages/docs/src/content/docs/api/transports-http/src/type-aliases/DiagnosticsConfigurationProblemOptions.md
@@ -0,0 +1,20 @@
+---
+editUrl: false
+next: false
+prev: false
+title: "DiagnosticsConfigurationProblemOptions"
+---
+
+> **DiagnosticsConfigurationProblemOptions** = `object`
+
+## Properties
+
+### option
+
+> `readonly` **option**: [`DiagnosticsLimitOption`](/api/transports-http/src/type-aliases/diagnosticslimitoption/)
+
+***
+
+### receivedValue
+
+> `readonly` **receivedValue**: `string`
diff --git a/packages/docs/src/content/docs/api/transports-http/src/type-aliases/DiagnosticsLimitOption.md b/packages/docs/src/content/docs/api/transports-http/src/type-aliases/DiagnosticsLimitOption.md
new file mode 100644
index 000000000..60d509aa7
--- /dev/null
+++ b/packages/docs/src/content/docs/api/transports-http/src/type-aliases/DiagnosticsLimitOption.md
@@ -0,0 +1,8 @@
+---
+editUrl: false
+next: false
+prev: false
+title: "DiagnosticsLimitOption"
+---
+
+> **DiagnosticsLimitOption** = `"messageLimit"` \| `"recentErrorLimit"`
diff --git a/packages/docs/src/content/docs/en/reference/problem-recovery-cookbook.md b/packages/docs/src/content/docs/en/reference/problem-recovery-cookbook.md
index 01e6a867c..00bdd1b41 100644
--- a/packages/docs/src/content/docs/en/reference/problem-recovery-cookbook.md
+++ b/packages/docs/src/content/docs/en/reference/problem-recovery-cookbook.md
@@ -7,7 +7,7 @@ description: Generated Croco Problem code registry with recovery and telemetry m
> Generated by `pnpm problem-registry:write`. Do not edit this file by hand.
-This cookbook documents 597 public Croco Problem codes. The deterministic JSON registry is generated at `docs/problem-code-registry.json`, and generated client union types are emitted at `packages/problems-core/src/generated/problem-code-registry.ts`.
+This cookbook documents 600 public Croco Problem codes. The deterministic JSON registry is generated at `docs/problem-code-registry.json`, and generated client union types are emitted at `packages/problems-core/src/generated/problem-code-registry.ts`.
## Index
@@ -396,6 +396,9 @@ This cookbook documents 597 public Croco Problem codes. The deterministic JSON r
| [`outbox-core/record-id-conflict`](#outbox-core-record-id-conflict) | Conflict | 409 | not-retryable | safe-message | active | 1 |
| [`outbox-core/unit-of-work-context-invalid`](#outbox-core-unit-of-work-context-invalid) | InternalServerError | 500 | not-retryable | operator-only | active | 1 |
| [`OWNERSHIP_TRANSFER_REQUIRED`](#ownership-transfer-required) | Forbidden | 403 | not-retryable | safe-message | active | 1 |
+| [`preset-node/invalid-close-timeout`](#preset-node-invalid-close-timeout) | BadRequest | 400 | not-retryable | public | active | 1 |
+| [`preset-node/lifecycle-conflict`](#preset-node-lifecycle-conflict) | Conflict | 409 | not-retryable | safe-message | active | 1 |
+| [`preset-node/lifecycle-io-failed`](#preset-node-lifecycle-io-failed) | InternalServerError | 500 | conditional | operator-only | active | 1 |
| [`problems-core/invalid-extensions`](#problems-core-invalid-extensions) | BadRequest | 400 | not-retryable | public | active | 1 |
| [`problems-core/parse-error`](#problems-core-parse-error) | BadRequest | 400 | not-retryable | public | active | 1 |
| [`problems-core/problem-registry-invalid`](#problems-core-problem-registry-invalid) | ValidationError | 422 | not-retryable | public | active | 1 |
@@ -7507,6 +7510,60 @@ Sources:
- `packages/membership-core/src/libs/problems/MembershipProblems.ts:65:5` (problem-constructor)
+
+
+## `preset-node/invalid-close-timeout`
+
+- Category: `BadRequest`
+- HTTP status: `400` Bad Request
+- Retryability: `not-retryable`
+- Redaction policy: `public`
+- Lifecycle: `active`
+- Cause: The caller sent malformed input or unsupported request options.
+- User action: Correct the request input and retry after validation passes.
+- Operator action: Inspect validation details and request logs; do not retry unchanged input.
+- Telemetry: `croco.problem.info` (info) with `problem.code`, `problem.category`, `problem.status`
+
+Sources:
+
+- `packages/preset-node/src/problems.ts:6:5` (problem-constructor)
+
+
+
+## `preset-node/lifecycle-conflict`
+
+- Category: `Conflict`
+- HTTP status: `409` Conflict
+- Retryability: `not-retryable`
+- Redaction policy: `safe-message`
+- Lifecycle: `active`
+- Cause: start() was called on a Node entry that is closing or already closed.
+- User action: Wait for closure to finish, then create a new entry to start another server.
+- Operator action: Inspect Node entry ownership and the ordering of start() and close() calls.
+- Telemetry: `croco.problem.warning` (warning) with `problem.code`, `problem.category`, `problem.status`
+
+Sources:
+
+- `packages/preset-node/src/problems.ts:20:5` (problem-constructor)
+
+
+
+## `preset-node/lifecycle-io-failed`
+
+- Category: `InternalServerError`
+- HTTP status: `500` Internal Server Error
+- Retryability: `conditional`
+- Redaction policy: `operator-only`
+- Lifecycle: `active`
+- Cause: The Node server failed while starting or closing an entry.
+- User action: Retry only after the server or socket failure has been investigated.
+- Operator action: Inspect the preserved cause and the reported lifecycle operation.
+- Telemetry: `croco.problem.error` (error) with `problem.code`, `problem.category`, `problem.status`
+
+Sources:
+
+- `packages/preset-node/src/problems.ts:34:5` (problem-constructor)
+
## `problems-core/invalid-extensions`
diff --git a/packages/preset-node/README.md b/packages/preset-node/README.md
index 5ef8a2bcd..261504d7b 100644
--- a/packages/preset-node/README.md
+++ b/packages/preset-node/README.md
@@ -10,8 +10,15 @@ framework and protocol packages.
- `createNodeServerPreset` - creates the Node build preset.
- `createNodeEntry` - builds the Node server entry handler.
+- `NodeEntryCloseTimeoutProblem` - reports an invalid `close(timeoutMs)` value.
+- `NodeEntryLifecycleProblem` - reports a stable lifecycle conflict when an entry is started after closing begins.
- Node entry option and handler types.
+`NodeEntry.start()` shares concurrent startup work and is idempotent after the server starts.
+`NodeEntry.close(timeoutMs?)` waits for active startup, shares concurrent shutdown work, and permanently closes
+the entry. It rejects after 30 seconds by default if the Node server does not finish closing. Create a new entry
+instead of calling `start()` after closing begins.
+
## Usage
```typescript
diff --git a/packages/preset-node/package.json b/packages/preset-node/package.json
index b5e6ca26d..de0900eb0 100644
--- a/packages/preset-node/package.json
+++ b/packages/preset-node/package.json
@@ -37,6 +37,7 @@
},
"dependencies": {
"@croco/framework-preset": "workspace:*",
+ "@croco/problems-core": "workspace:*",
"@hono/node-server": "^1.19.10",
"hono": "^4.12.34"
},
diff --git a/packages/preset-node/src/entry.ts b/packages/preset-node/src/entry.ts
index 7011857ef..5a6cd09e7 100644
--- a/packages/preset-node/src/entry.ts
+++ b/packages/preset-node/src/entry.ts
@@ -2,6 +2,12 @@ import type { Server as HTTPServer } from "node:http";
import { serve } from "@hono/node-server";
import type { Hono } from "hono";
+import {
+ NodeEntryCloseTimeoutProblem,
+ NodeEntryLifecycleIoProblem,
+ NodeEntryLifecycleProblem,
+} from "./problems";
+
export type NodeEntryOptions = {
readonly port?: number;
readonly hostname?: string;
@@ -10,9 +16,17 @@ export type NodeEntryOptions = {
export type NodeEntry = {
readonly server: HTTPServer | null;
readonly start: () => Promise;
- readonly close: () => Promise;
+ readonly close: (timeoutMs?: number) => Promise;
};
+type NodeEntryState = "idle" | "starting" | "started" | "closing" | "closed";
+
+const DEFAULT_CLOSE_TIMEOUT_MS = 30_000;
+
+function asError(cause: unknown): Error {
+ return cause instanceof Error ? cause : new Error(String(cause));
+}
+
export function createNodeEntry(
honoApp: { readonly fetch: Hono["fetch"] },
options?: NodeEntryOptions,
@@ -20,49 +34,210 @@ export function createNodeEntry(
const port = options?.port ?? 3000;
const hostname = options?.hostname ?? "0.0.0.0";
let server: HTTPServer | null = null;
+ let state: NodeEntryState = "idle";
+ let startPromise: Promise | null = null;
+ let closePromise: Promise | null = null;
+ let serverClosePromise: Promise | null = null;
- return {
- get server() {
- return server;
- },
- start: async () => {
- return new Promise((resolve, reject) => {
- const handleStartError = (error: Error) => {
- server?.off("error", handleStartError);
- server = null;
- reject(error);
- };
+ const start = (): Promise => {
+ if (state === "closing" || state === "closed") {
+ return Promise.reject(new NodeEntryLifecycleProblem("start", state));
+ }
- try {
- server = serve(
- {
- fetch: honoApp.fetch,
- port,
- hostname,
- },
- () => {
- server?.off("error", handleStartError);
- resolve();
- },
- ) as unknown as HTTPServer;
- server.once?.("error", handleStartError);
- } catch (err) {
- reject(err);
+ if (state === "started") {
+ return Promise.resolve();
+ }
+
+ if (startPromise) {
+ return startPromise;
+ }
+
+ state = "starting";
+ let createdServer: HTTPServer | null = null;
+ let listening = false;
+
+ const attempt = new Promise((resolve, reject) => {
+ const handleStartError = (error: Error) => {
+ createdServer?.off("error", handleStartError);
+ reject(new NodeEntryLifecycleIoProblem("start", error));
+ };
+
+ const handleListening = () => {
+ listening = true;
+ if (createdServer) {
+ createdServer.off("error", handleStartError);
+ resolve();
}
- });
- },
- close: async () => {
- return new Promise((resolve) => {
- if (!server) {
+ };
+
+ try {
+ createdServer = serve(
+ {
+ fetch: honoApp.fetch,
+ port,
+ hostname,
+ },
+ handleListening,
+ ) as unknown as HTTPServer;
+ server = createdServer;
+ createdServer.once("error", handleStartError);
+
+ if (listening) {
+ createdServer.off("error", handleStartError);
resolve();
- return;
}
+ } catch (error) {
+ createdServer?.off("error", handleStartError);
+ server = null;
+ reject(new NodeEntryLifecycleIoProblem("start", asError(error)));
+ }
+ });
- server.close(() => {
+ const settledAttempt = attempt.then(
+ () => {
+ if (state === "starting") {
+ state = "started";
+ }
+ },
+ (error: unknown) => {
+ if (server === createdServer) {
server = null;
- resolve();
+ }
+ if (state === "starting") {
+ state = "idle";
+ }
+ throw error;
+ },
+ );
+ const sharedAttempt = settledAttempt.finally(() => {
+ if (startPromise === sharedAttempt) {
+ startPromise = null;
+ }
+ });
+
+ startPromise = sharedAttempt;
+ return sharedAttempt;
+ };
+
+ const close = (timeoutMs = DEFAULT_CLOSE_TIMEOUT_MS): Promise => {
+ if (!Number.isSafeInteger(timeoutMs) || timeoutMs <= 0) {
+ return Promise.reject(new NodeEntryCloseTimeoutProblem(timeoutMs));
+ }
+
+ if (closePromise) {
+ return closePromise;
+ }
+
+ if (state === "closed") {
+ return Promise.resolve();
+ }
+
+ const activeStart = startPromise;
+ state = "closing";
+
+ const closeActiveServer = async () => {
+ if (activeStart) {
+ try {
+ await activeStart;
+ } catch {
+ // A failed start creates no listener, so close can still complete.
+ server = null;
+ }
+ }
+
+ const activeServer = server;
+ if (!activeServer) {
+ state = "closed";
+ return;
+ }
+
+ let activeServerClose = serverClosePromise;
+ if (!activeServerClose) {
+ const serverCloseAttempt = new Promise((resolve, reject) => {
+ try {
+ activeServer.close((error?: Error) => {
+ if (error) {
+ reject(new NodeEntryLifecycleIoProblem("close", error));
+ return;
+ }
+ resolve();
+ });
+ } catch (error) {
+ reject(new NodeEntryLifecycleIoProblem("close", asError(error)));
+ }
});
+ const settledServerClose = serverCloseAttempt.then(
+ () => {
+ if (server === activeServer) {
+ server = null;
+ }
+ state = "closed";
+ },
+ (error: unknown) => {
+ state = server ? "closing" : "closed";
+ throw error;
+ },
+ );
+ const sharedServerClose = settledServerClose.finally(() => {
+ if (serverClosePromise === sharedServerClose) {
+ serverClosePromise = null;
+ }
+ });
+
+ serverClosePromise = sharedServerClose;
+ activeServerClose = sharedServerClose;
+ }
+
+ await new Promise((resolve, reject) => {
+ let settled = false;
+ const closeTimer = setTimeout(() => {
+ settled = true;
+ reject(
+ new NodeEntryLifecycleIoProblem(
+ "close",
+ new Error(`Node server close timed out after ${timeoutMs}ms.`),
+ ),
+ );
+ }, timeoutMs);
+
+ void activeServerClose.then(
+ () => {
+ if (!settled) {
+ settled = true;
+ clearTimeout(closeTimer);
+ resolve();
+ }
+ },
+ (error: unknown) => {
+ if (!settled) {
+ settled = true;
+ clearTimeout(closeTimer);
+ reject(error);
+ }
+ },
+ );
});
+ };
+
+ const settledClose = closeActiveServer().catch((error: unknown) => {
+ state = server ? "closing" : "closed";
+ throw error;
+ });
+ const sharedClose = settledClose.finally(() => {
+ if (closePromise === sharedClose) {
+ closePromise = null;
+ }
+ });
+
+ closePromise = sharedClose;
+ return sharedClose;
+ };
+
+ return {
+ get server() {
+ return server;
},
+ start,
+ close,
};
}
diff --git a/packages/preset-node/src/index.ts b/packages/preset-node/src/index.ts
index cd2ec6997..9c33f89d1 100644
--- a/packages/preset-node/src/index.ts
+++ b/packages/preset-node/src/index.ts
@@ -22,4 +22,9 @@ export function createNodeServerPreset(): CrocoPreset {
export type { NodeEntry, NodeEntryOptions } from "./entry";
export { createNodeEntry } from "./entry";
+export {
+ NodeEntryCloseTimeoutProblem,
+ NodeEntryLifecycleIoProblem,
+ NodeEntryLifecycleProblem,
+} from "./problems";
export type { CrocoPreset, CrocoPresetConfig };
diff --git a/packages/preset-node/src/problems.ts b/packages/preset-node/src/problems.ts
new file mode 100644
index 000000000..8086c2c16
--- /dev/null
+++ b/packages/preset-node/src/problems.ts
@@ -0,0 +1,44 @@
+import { Problem, ProblemCategory } from "@croco/problems-core";
+
+/** Reports an invalid timeout passed to NodeEntry.close(). */
+export class NodeEntryCloseTimeoutProblem extends Problem {
+ public constructor(timeoutMs: number) {
+ super(
+ "preset-node/invalid-close-timeout",
+ ProblemCategory.BadRequest,
+ `Node entry close timeout must be a positive safe integer. Received ${timeoutMs}.`,
+ {
+ extensions: { timeoutMs },
+ },
+ );
+ }
+}
+
+/** Reports start() on a Node entry that is already closing or closed. */
+export class NodeEntryLifecycleProblem extends Problem {
+ public constructor(operation: "start", state: "closing" | "closed") {
+ super(
+ "preset-node/lifecycle-conflict",
+ ProblemCategory.Conflict,
+ `Cannot ${operation} the Node entry while it is ${state}. Create a new entry to start another server.`,
+ {
+ extensions: { operation, state },
+ },
+ );
+ }
+}
+
+/** Reports a Node server failure while starting or closing an entry. */
+export class NodeEntryLifecycleIoProblem extends Problem {
+ public constructor(operation: "start" | "close", cause: Error) {
+ super(
+ "preset-node/lifecycle-io-failed",
+ ProblemCategory.InternalServerError,
+ `Node entry ${operation} failed.`,
+ {
+ cause,
+ extensions: { operation },
+ },
+ );
+ }
+}
diff --git a/packages/preset-node/src/tests/presetNode.spec.ts b/packages/preset-node/src/tests/presetNode.spec.ts
index aca9e8a77..c0c0a147f 100644
--- a/packages/preset-node/src/tests/presetNode.spec.ts
+++ b/packages/preset-node/src/tests/presetNode.spec.ts
@@ -1,5 +1,6 @@
+import { EventEmitter } from "node:events";
import { serve } from "@hono/node-server";
-import { describe, expect, it, vi } from "vitest";
+import { beforeEach, describe, expect, it, vi } from "vitest";
import { createNodeEntry, createNodeServerPreset } from "../index";
@@ -7,12 +8,21 @@ vi.mock("@hono/node-server", () => ({
serve: vi.fn((_options, callback?: () => void) => {
callback?.();
- return {
- close: vi.fn((closeCallback?: () => void) => closeCallback?.()),
- };
+ const server = new EventEmitter();
+ return Object.assign(server, {
+ close: vi.fn((closeCallback?: (error?: Error) => void) => closeCallback?.()),
+ });
}),
}));
+function createTestServer(close = vi.fn((callback?: (error?: Error) => void) => callback?.())) {
+ return Object.assign(new EventEmitter(), { close }) as unknown as ReturnType;
+}
+
+beforeEach(() => {
+ vi.clearAllMocks();
+});
+
describe("createNodeServerPreset", () => {
it("returns a node preset", () => {
const preset = createNodeServerPreset();
@@ -75,7 +85,7 @@ describe("createNodeEntry", () => {
vi.mocked(serve).mockImplementationOnce((_options, callback) => {
callback?.({ address: "127.0.0.1", family: "IPv4", port: 3000 });
- return { close } as unknown as ReturnType;
+ return createTestServer(close);
});
const entry = createNodeEntry({ fetch: vi.fn(async () => new Response("ok")) });
@@ -85,4 +95,239 @@ describe("createNodeEntry", () => {
expect(close).toHaveBeenCalledWith(expect.any(Function));
expect(entry.server).toBeNull();
});
+
+ it("shares one in-flight start and keeps repeated starts idempotent", async () => {
+ let finishStart: (() => void) | undefined;
+ const server = createTestServer();
+ vi.mocked(serve).mockImplementationOnce((_options, callback) => {
+ finishStart = () => callback?.({ address: "127.0.0.1", family: "IPv4", port: 3000 });
+ return server;
+ });
+ const entry = createNodeEntry({ fetch: vi.fn() });
+
+ const first = entry.start();
+ const second = entry.start();
+
+ expect(second).toBe(first);
+ expect(serve).toHaveBeenCalledTimes(1);
+ finishStart?.();
+ await first;
+ await entry.start();
+ expect(serve).toHaveBeenCalledTimes(1);
+ await entry.close();
+ });
+
+ it("allows retry after a startup failure", async () => {
+ const failedServer = createTestServer();
+ const startedServer = createTestServer();
+ vi.mocked(serve)
+ .mockImplementationOnce(() => failedServer)
+ .mockImplementationOnce((_options, callback) => {
+ callback?.({ address: "127.0.0.1", family: "IPv4", port: 3000 });
+ return startedServer;
+ });
+ const entry = createNodeEntry({ fetch: vi.fn() });
+
+ const failedStart = entry.start();
+ const cause = new Error("address unavailable");
+ failedServer.emit("error", cause);
+
+ await expect(failedStart).rejects.toMatchObject({
+ code: "preset-node/lifecycle-io-failed",
+ cause,
+ extensions: { operation: "start" },
+ });
+ expect(entry.server).toBeNull();
+ await expect(entry.start()).resolves.toBeUndefined();
+ expect(entry.server).toBe(startedServer);
+ expect(serve).toHaveBeenCalledTimes(2);
+ await entry.close();
+ });
+
+ it("maps synchronous server startup failures to a lifecycle I/O Problem", async () => {
+ const cause = new Error("serve failed");
+ vi.mocked(serve).mockImplementationOnce(() => {
+ throw cause;
+ });
+ const entry = createNodeEntry({ fetch: vi.fn() });
+
+ await expect(entry.start()).rejects.toMatchObject({
+ code: "preset-node/lifecycle-io-failed",
+ cause,
+ extensions: { operation: "start" },
+ });
+ expect(entry.server).toBeNull();
+ });
+
+ it("waits for startup before sharing one close and rejects start after close begins", async () => {
+ let finishStart: (() => void) | undefined;
+ const close = vi.fn((callback?: (error?: Error) => void) => callback?.());
+ const server = createTestServer(close);
+ vi.mocked(serve).mockImplementationOnce((_options, callback) => {
+ finishStart = () => callback?.({ address: "127.0.0.1", family: "IPv4", port: 3000 });
+ return server;
+ });
+ const entry = createNodeEntry({ fetch: vi.fn() });
+
+ const start = entry.start();
+ const firstClose = entry.close();
+ const secondClose = entry.close();
+
+ expect(secondClose).toBe(firstClose);
+ expect(close).not.toHaveBeenCalled();
+ await expect(entry.start()).rejects.toMatchObject({
+ code: "preset-node/lifecycle-conflict",
+ extensions: { operation: "start", state: "closing" },
+ });
+
+ finishStart?.();
+ await start;
+ await firstClose;
+
+ expect(close).toHaveBeenCalledTimes(1);
+ expect(entry.server).toBeNull();
+ await expect(entry.start()).rejects.toMatchObject({
+ code: "preset-node/lifecycle-conflict",
+ extensions: { operation: "start", state: "closed" },
+ });
+ });
+
+ it("keeps start fenced after close fails and allows close to be retried", async () => {
+ const cause = new Error("server was already stopped");
+ const close = vi
+ .fn<(callback?: (error?: Error) => void) => void>()
+ .mockImplementationOnce((callback) => callback?.(cause))
+ .mockImplementationOnce((callback) => callback?.());
+ const server = createTestServer(close);
+ vi.mocked(serve).mockImplementationOnce((_options, callback) => {
+ callback?.({ address: "127.0.0.1", family: "IPv4", port: 3000 });
+ return server;
+ });
+ const entry = createNodeEntry({ fetch: vi.fn() });
+
+ await entry.start();
+ await expect(entry.close()).rejects.toMatchObject({
+ code: "preset-node/lifecycle-io-failed",
+ cause,
+ extensions: { operation: "close" },
+ });
+ await expect(entry.start()).rejects.toMatchObject({
+ code: "preset-node/lifecycle-conflict",
+ extensions: { operation: "start", state: "closing" },
+ });
+ await expect(entry.close()).resolves.toBeUndefined();
+
+ expect(close).toHaveBeenCalledTimes(2);
+ expect(entry.server).toBeNull();
+ });
+
+ it("maps synchronous server close failures and allows close to be retried", async () => {
+ const cause = new Error("close failed");
+ const close = vi
+ .fn<(callback?: (error?: Error) => void) => void>()
+ .mockImplementationOnce(() => {
+ throw cause;
+ })
+ .mockImplementationOnce((callback) => callback?.());
+ const server = createTestServer(close);
+ vi.mocked(serve).mockImplementationOnce((_options, callback) => {
+ callback?.({ address: "127.0.0.1", family: "IPv4", port: 3000 });
+ return server;
+ });
+ const entry = createNodeEntry({ fetch: vi.fn() });
+
+ await entry.start();
+ await expect(entry.close()).rejects.toMatchObject({
+ code: "preset-node/lifecycle-io-failed",
+ cause,
+ extensions: { operation: "close" },
+ });
+ await expect(entry.start()).rejects.toMatchObject({
+ code: "preset-node/lifecycle-conflict",
+ extensions: { operation: "start", state: "closing" },
+ });
+ await expect(entry.close()).resolves.toBeUndefined();
+
+ expect(close).toHaveBeenCalledTimes(2);
+ expect(entry.server).toBeNull();
+ });
+
+ it("times out a stalled close while preserving the lifecycle fence", async () => {
+ vi.useFakeTimers();
+ let finishClose: (() => void) | undefined;
+ const close = vi.fn((callback?: (error?: Error) => void) => {
+ finishClose = () => callback?.();
+ });
+ const server = createTestServer(close);
+ vi.mocked(serve).mockImplementationOnce((_options, callback) => {
+ callback?.({ address: "127.0.0.1", family: "IPv4", port: 3000 });
+ return server;
+ });
+ const entry = createNodeEntry({ fetch: vi.fn() });
+
+ try {
+ await entry.start();
+ const stalledClose = entry.close(50);
+ const stalledCloseResult = expect(stalledClose).rejects.toMatchObject({
+ code: "preset-node/lifecycle-io-failed",
+ cause: expect.objectContaining({ message: "Node server close timed out after 50ms." }),
+ extensions: { operation: "close" },
+ });
+
+ await vi.advanceTimersByTimeAsync(50);
+ await stalledCloseResult;
+ await expect(entry.start()).rejects.toMatchObject({
+ code: "preset-node/lifecycle-conflict",
+ extensions: { operation: "start", state: "closing" },
+ });
+
+ const retriedClose = entry.close(100);
+ expect(close).toHaveBeenCalledTimes(1);
+ finishClose?.();
+ await expect(retriedClose).resolves.toBeUndefined();
+ expect(entry.server).toBeNull();
+ } finally {
+ vi.useRealTimers();
+ }
+ });
+
+ it("rejects an invalid close timeout without changing lifecycle state", async () => {
+ const close = vi.fn((callback?: (error?: Error) => void) => callback?.());
+ const server = createTestServer(close);
+ vi.mocked(serve).mockImplementationOnce((_options, callback) => {
+ callback?.({ address: "127.0.0.1", family: "IPv4", port: 3000 });
+ return server;
+ });
+ const entry = createNodeEntry({ fetch: vi.fn() });
+
+ await entry.start();
+ await expect(entry.close(0)).rejects.toMatchObject({
+ code: "preset-node/invalid-close-timeout",
+ status: 400,
+ extensions: { timeoutMs: 0 },
+ });
+ await expect(entry.start()).resolves.toBeUndefined();
+ expect(close).not.toHaveBeenCalled();
+ await expect(entry.close()).resolves.toBeUndefined();
+ await expect(entry.close(0)).rejects.toMatchObject({
+ code: "preset-node/invalid-close-timeout",
+ status: 400,
+ extensions: { timeoutMs: 0 },
+ });
+
+ expect(close).toHaveBeenCalledTimes(1);
+ expect(entry.server).toBeNull();
+ });
+
+ it("rejects an invalid close timeout while idle without fencing start", async () => {
+ const entry = createNodeEntry({ fetch: vi.fn() });
+
+ await expect(entry.close(0)).rejects.toMatchObject({
+ code: "preset-node/invalid-close-timeout",
+ status: 400,
+ extensions: { timeoutMs: 0 },
+ });
+ await expect(entry.start()).resolves.toBeUndefined();
+ await entry.close();
+ });
});
diff --git a/packages/preset-node/src/tests/publicTypes.spec.ts b/packages/preset-node/src/tests/publicTypes.spec.ts
index 4f3e029fc..2987af644 100644
--- a/packages/preset-node/src/tests/publicTypes.spec.ts
+++ b/packages/preset-node/src/tests/publicTypes.spec.ts
@@ -3,6 +3,9 @@ import { describe, expectTypeOf, it } from "vitest";
import type {
NodeEntry,
+ NodeEntryCloseTimeoutProblem,
+ NodeEntryLifecycleIoProblem,
+ NodeEntryLifecycleProblem,
NodeEntryOptions,
createNodeEntry,
createNodeServerPreset,
@@ -19,5 +22,14 @@ describe("public types", () => {
it("keeps runtime server options on the Node entry helper", () => {
expectTypeOf().parameters.toEqualTypeOf();
expectTypeOf().returns.toEqualTypeOf();
+ expectTypeOf().toEqualTypeOf<(timeoutMs?: number) => Promise>();
+ });
+
+ it("exports the deterministic lifecycle conflict Problem", () => {
+ expectTypeOf().toBeConstructibleWith(30_000);
+ expectTypeOf().toBeConstructibleWith("start", "closing");
+ expectTypeOf().toBeConstructibleWith("start", "closed");
+ expectTypeOf().toBeConstructibleWith("start", new Error());
+ expectTypeOf().toBeConstructibleWith("close", new Error());
});
});
diff --git a/packages/preset-node/tsconfig.json b/packages/preset-node/tsconfig.json
index e991b9b2e..22f43d0c9 100644
--- a/packages/preset-node/tsconfig.json
+++ b/packages/preset-node/tsconfig.json
@@ -2,7 +2,8 @@
"extends": "../../tsconfig/tsconfig.node.json",
"compilerOptions": {
"paths": {
- "@croco/framework-preset": ["../framework-preset/src/index.ts"]
+ "@croco/framework-preset": ["../framework-preset/src/index.ts"],
+ "@croco/problems-core": ["../problems-core/src/index.ts"]
}
},
"include": ["src/**/*.ts"],
diff --git a/packages/preset-node/vitest.config.ts b/packages/preset-node/vitest.config.ts
index ab9020d9c..c3b41a597 100644
--- a/packages/preset-node/vitest.config.ts
+++ b/packages/preset-node/vitest.config.ts
@@ -9,6 +9,7 @@ export default defineConfig({
resolve: {
alias: {
"@croco/framework-preset": "../framework-preset/src/index.ts",
+ "@croco/problems-core": "../problems-core/src/index.ts",
},
},
});
diff --git a/packages/problems-core/src/generated/problem-code-registry.ts b/packages/problems-core/src/generated/problem-code-registry.ts
index 72944c464..5ad568e67 100644
--- a/packages/problems-core/src/generated/problem-code-registry.ts
+++ b/packages/problems-core/src/generated/problem-code-registry.ts
@@ -3,7 +3,7 @@ import type { ProblemCodeRegistry } from "../libs/ProblemRegistry";
export const CROCO_PROBLEM_CODE_REGISTRY = {
version: "croco.problem-code-registry.v1",
- problemCount: 597,
+ problemCount: 600,
problems: [
{
code: "ACCESS_DENIED",
@@ -11953,6 +11953,98 @@ export const CROCO_PROBLEM_CODE_REGISTRY = {
},
],
},
+ {
+ code: "preset-node/invalid-close-timeout",
+ category: "BadRequest",
+ status: 400,
+ title: "Bad Request",
+ cookbookPath: "/reference/problem-recovery-cookbook/#preset-node-invalid-close-timeout",
+ recovery: {
+ cause: "The caller sent malformed input or unsupported request options.",
+ userAction: "Correct the request input and retry after validation passes.",
+ operatorAction:
+ "Inspect validation details and request logs; do not retry unchanged input.",
+ retryability: "not-retryable",
+ redactionPolicy: "public",
+ telemetry: {
+ eventName: "croco.problem.info",
+ severity: "info",
+ attributes: ["problem.code", "problem.category", "problem.status"],
+ },
+ },
+ lifecycle: {
+ status: "active",
+ },
+ sources: [
+ {
+ file: "packages/preset-node/src/problems.ts",
+ line: 6,
+ column: 5,
+ kind: "problem-constructor",
+ },
+ ],
+ },
+ {
+ code: "preset-node/lifecycle-conflict",
+ category: "Conflict",
+ status: 409,
+ title: "Conflict",
+ cookbookPath: "/reference/problem-recovery-cookbook/#preset-node-lifecycle-conflict",
+ recovery: {
+ cause: "start() was called on a Node entry that is closing or already closed.",
+ userAction: "Wait for closure to finish, then create a new entry to start another server.",
+ operatorAction:
+ "Inspect Node entry ownership and the ordering of start() and close() calls.",
+ retryability: "not-retryable",
+ redactionPolicy: "safe-message",
+ telemetry: {
+ eventName: "croco.problem.warning",
+ severity: "warning",
+ attributes: ["problem.code", "problem.category", "problem.status"],
+ },
+ },
+ lifecycle: {
+ status: "active",
+ },
+ sources: [
+ {
+ file: "packages/preset-node/src/problems.ts",
+ line: 20,
+ column: 5,
+ kind: "problem-constructor",
+ },
+ ],
+ },
+ {
+ code: "preset-node/lifecycle-io-failed",
+ category: "InternalServerError",
+ status: 500,
+ title: "Internal Server Error",
+ cookbookPath: "/reference/problem-recovery-cookbook/#preset-node-lifecycle-io-failed",
+ recovery: {
+ cause: "The Node server failed while starting or closing an entry.",
+ userAction: "Retry only after the server or socket failure has been investigated.",
+ operatorAction: "Inspect the preserved cause and the reported lifecycle operation.",
+ retryability: "conditional",
+ redactionPolicy: "operator-only",
+ telemetry: {
+ eventName: "croco.problem.error",
+ severity: "error",
+ attributes: ["problem.code", "problem.category", "problem.status"],
+ },
+ },
+ lifecycle: {
+ status: "active",
+ },
+ sources: [
+ {
+ file: "packages/preset-node/src/problems.ts",
+ line: 34,
+ column: 5,
+ kind: "problem-constructor",
+ },
+ ],
+ },
{
code: "problems-core/invalid-extensions",
category: "BadRequest",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 3dddb4d7f..41b38d416 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -2730,6 +2730,9 @@ importers:
'@croco/framework-preset':
specifier: workspace:*
version: link:../framework-preset
+ '@croco/problems-core':
+ specifier: workspace:*
+ version: link:../problems-core
'@hono/node-server':
specifier: 1.19.10
version: 1.19.10(hono@4.12.34)
diff --git a/public-api-surface.snapshot.json b/public-api-surface.snapshot.json
index 914d22641..a6a0b90bd 100644
--- a/public-api-surface.snapshot.json
+++ b/public-api-surface.snapshot.json
@@ -19357,6 +19357,24 @@
"exportKind": "named",
"source": "./entry",
"declarationKind": "function"
+ },
+ {
+ "name": "NodeEntryCloseTimeoutProblem",
+ "exportKind": "named",
+ "source": "./problems",
+ "declarationKind": "class"
+ },
+ {
+ "name": "NodeEntryLifecycleIoProblem",
+ "exportKind": "named",
+ "source": "./problems",
+ "declarationKind": "class"
+ },
+ {
+ "name": "NodeEntryLifecycleProblem",
+ "exportKind": "named",
+ "source": "./problems",
+ "declarationKind": "class"
}
],
"typeExports": [
diff --git a/scripts/problem-registry.mts b/scripts/problem-registry.mts
index 6643bd848..0ef6dfc94 100644
--- a/scripts/problem-registry.mts
+++ b/scripts/problem-registry.mts
@@ -1896,6 +1896,22 @@ const recoveryMetadataByCategory = {
} as const satisfies Record;
const recoveryMetadataByCode = {
+ "preset-node/lifecycle-conflict": recovery({
+ cause: "start() was called on a Node entry that is closing or already closed.",
+ userAction: "Wait for closure to finish, then create a new entry to start another server.",
+ operatorAction: "Inspect Node entry ownership and the ordering of start() and close() calls.",
+ retryability: "not-retryable",
+ redactionPolicy: "safe-message",
+ severity: "warning",
+ }),
+ "preset-node/lifecycle-io-failed": recovery({
+ cause: "The Node server failed while starting or closing an entry.",
+ userAction: "Retry only after the server or socket failure has been investigated.",
+ operatorAction: "Inspect the preserved cause and the reported lifecycle operation.",
+ retryability: "conditional",
+ redactionPolicy: "operator-only",
+ severity: "error",
+ }),
"auth-core/invalid-route-metadata-target": recovery({
cause:
"An authentication guard received a route metadata target that was neither an object nor a function.",