---
slug: "Constraint"
name: "Constraint"
type: "Data Structures"
layer: "Infrastructure"
ref: "Constraint#7013"
sema_id: "sema:Constraint#mh:SHA-256:70136d525260a10eedf156aad1fe6c50510eadb10a89d063c7a85575b15708fc"
tags: ["Infrastructure","Data Structures"]
updated: 2026-11-11
mindscape: "bootstrap"
index_url: https://mindscape.pages.dev/bootstrap/index.json
url: https://mindscape.pages.dev/bootstrap/Constraint/
related: ["AcceptSpec","BoundaryReview","CapacityPressure","ConstraintFirst","Context","ContextCompress","FrameSpec","ProblemSpace","Reversibility","RuleSet","SelfReminder","SemanticTabu","SolverManifest","Spec","Task","TimeboxThink","BoundaryReview#aa3b"]
---

# Constraint

Non-negotiable boundary condition

Layer: Infrastructure · Category: Data Structures

## Mechanism

A boundary condition that must be satisfied by any valid solution. Constraints are non-compensatory: violating one constraint cannot be offset by exceeding another. They come in types: Resource (budget, time), Safety (harm prevention), Legal (compliance), Physical (laws of nature). Constraints propagate via Holographic Inheritance: child tasks inherit parent constraints.

## Invariants

- Non-Compensatory: Violation of any constraint = rejection.
- Inheritance: Child constraints must include all parent constraints.
- Explicitness: All constraints must be stated, not implied.

## Failure modes

- Constraint Relaxation: Silently loosening a constraint to fit a preferred solution.
- Hidden Constraint: A real-world constraint not captured in the specification.
- Constraint Conflict: Two constraints are mutually exclusive (no solution exists).

## Data schema

```json
{
  "type": "object",
  "required": [
    "constraint_type",
    "expression"
  ],
  "properties": {
    "constraint_type": {
      "type": "string",
      "enum": [
        "resource",
        "safety",
        "legal",
        "physical"
      ],
      "description": "Category of constraint"
    },
    "expression": {
      "type": "string",
      "description": "The constraint as a boolean expression or inequality"
    },
    "priority": {
      "type": "integer",
      "description": "Enforcement order when multiple constraints apply"
    },
    "source": {
      "type": "string",
      "description": "Origin of the constraint (parent task, law, etc.)"
    }
  }
}
```

## Builds on

—

## Used by

- [AcceptSpec](https://mindscape.pages.dev/bootstrap/AcceptSpec.md) (Infrastructure; References)
- [BoundaryReview](https://mindscape.pages.dev/bootstrap/BoundaryReview.md) (Mind; References)
- [CapacityPressure](https://mindscape.pages.dev/bootstrap/CapacityPressure.md) (Mind; References)
- [ConstraintFirst](https://mindscape.pages.dev/bootstrap/ConstraintFirst.md) (Mind; References)
- [Context](https://mindscape.pages.dev/bootstrap/Context.md) (Infrastructure; References)
- [ContextCompress](https://mindscape.pages.dev/bootstrap/ContextCompress.md) (Mind; References)
- [FrameSpec](https://mindscape.pages.dev/bootstrap/FrameSpec.md) (Infrastructure; References)
- [ProblemSpace](https://mindscape.pages.dev/bootstrap/ProblemSpace.md) (Infrastructure; References)
- [Reversibility](https://mindscape.pages.dev/bootstrap/Reversibility.md) (Physics; References)
- [RuleSet](https://mindscape.pages.dev/bootstrap/RuleSet.md) (Infrastructure; References)
- [SelfReminder](https://mindscape.pages.dev/bootstrap/SelfReminder.md) (Mind; References)
- [SemanticTabu](https://mindscape.pages.dev/bootstrap/SemanticTabu.md) (Mind; References)
- [SolverManifest](https://mindscape.pages.dev/bootstrap/SolverManifest.md) (Infrastructure; References)
- [Spec](https://mindscape.pages.dev/bootstrap/Spec.md) (Infrastructure; References)
- [Task](https://mindscape.pages.dev/bootstrap/Task.md) (Infrastructure; References)
- [TimeboxThink](https://mindscape.pages.dev/bootstrap/TimeboxThink.md) (Mind; References)

## Identity

- Sema ID: `sema:Constraint#mh:SHA-256:70136d525260a10eedf156aad1fe6c50510eadb10a89d063c7a85575b15708fc`
- Ref: `Constraint#7013`

## Links

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