---
slug: "GracefulDegradation"
name: "GracefulDegradation"
type: "Protocols"
layer: "Society"
ref: "GracefulDegradation#6633"
sema_id: "sema:GracefulDegradation#mh:SHA-256:6633433b9b713c199d43b085ec6e07183544183c507e5c9673aafa0518135df9"
tags: ["Society","Protocols"]
updated: 2026-11-11
mindscape: "bootstrap"
index_url: https://mindscape.pages.dev/bootstrap/index.json
url: https://mindscape.pages.dev/bootstrap/GracefulDegradation/
related: ["FailClosed","Message","Strategy","Gardener"]
---

# GracefulDegradation

When verification fails, fall back to inline definition

Layer: Society · Category: Protocols

## Mechanism

Resolution Fallback [Strategy](https://mindscape.pages.dev/bootstrap/Strategy.md). When a Pattern_ID is not found in local storage, the system attempts to resolve it via secondary channels (Inline Payload -> Network Request) rather than halting immediately. Crucially, any definition acquired this way must be cryptographically verified against the requested Pattern_ID. It defaults to [FailClosed](https://mindscape.pages.dev/bootstrap/FailClosed.md) if verification fails, but attempts to parse verified inline definitions to maintain continuity.

## Invariants

- A definition enters local storage only if it validates fully.
- An externally acquired definition is hashed and verified against the requested ID before loading.
- Rejects definitions larger than `max_def_size`.
- Expands inline definitions no deeper than `max_recursion_depth`.
- Defaults to [FailClosed](https://mindscape.pages.dev/bootstrap/FailClosed.md) when verification fails.

## Preconditions

- [Message](https://mindscape.pages.dev/bootstrap/Message.md) contains fallback data OR sender is reachable
- Pattern lookup failed

## Postconditions

- Pattern resolved and locally minted OR Transaction aborted

## Failure modes

- Hash Mismatch: Inline definition claims to be Pattern#X but hashes to Pattern#Y (Spoofing).
- DoS via Definition: Sender includes massive multi-megabyte 'definition' to exhaust receiver memory.
- Dependency Hell: Inline definition references other unknown patterns, triggering recursive lookups.

## Parameters

- `max_def_size` (PositiveInteger, unspecified): Largest inline definition accepted, in bytes. Deliberately uncapped; default 100KB.
- `max_recursion_depth` (Integer, [1, 5]): Depth of inline-definition expansion permitted before the chain is refused.

## Builds on

- [FailClosed](https://mindscape.pages.dev/bootstrap/FailClosed.md) (Infrastructure; References)
- [Message](https://mindscape.pages.dev/bootstrap/Message.md) (Infrastructure; References)
- [Strategy](https://mindscape.pages.dev/bootstrap/Strategy.md) (Mind; References)

## Used by

- [Gardener](https://mindscape.pages.dev/bootstrap/Gardener.md) (Society; References)

## Identity

- Sema ID: `sema:GracefulDegradation#mh:SHA-256:6633433b9b713c199d43b085ec6e07183544183c507e5c9673aafa0518135df9`
- Ref: `GracefulDegradation#6633`
- Supersedes:
  - `sema:GracefulDegradation#mh:SHA-256:f6d796365ffaa5244e54660f836f2e31ca948169f42fd305da33445cbfa30485`
  - `sema:GracefulDegradation#mh:SHA-256:1a82403193308a36bfe7623bdbd9e98dd611761e086b0e038ced0655e8db0336`
  - `sema:GracefulDegradation#mh:SHA-256:84362d70dbeb585179a9adc7352dcd96d5edd14a611ee6c7d2400a4d78395eec`
  - `sema:GracefulDegradation#mh:SHA-256:f10808f46c43a5c56cc2c16b27de525604b7888f232240cb742f276e089d4781`
  - `sema:GracefulDegradation#mh:SHA-256:b5fb816bf7d74fb14b80795841d2043f22ac266873f442fce51c163346dc5a85`

## Links

- [Pattern page](https://mindscape.pages.dev/bootstrap/GracefulDegradation/)
- [View in the interactive graph](https://mindscape.pages.dev/bootstrap/#GracefulDegradation)
- [JSON](https://mindscape.pages.dev/bootstrap/GracefulDegradation.json)
- [Index of all patterns](https://mindscape.pages.dev/bootstrap/index.json)
