---
slug: "AcceptSpec"
name: "AcceptSpec"
type: "Data Structures"
layer: "Infrastructure"
ref: "AcceptSpec#37fa"
sema_id: "sema:AcceptSpec#mh:SHA-256:37fa28b93d390f8c8eb171eaab54ff4f9e57a95ef67af024422f823545a291cc"
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/AcceptSpec/
related: ["Constraint","Criteria","Spec","AgentProtocol","BoundedTask","DataMinimization","DocumentedOverride","Elect","FailureTrace","FrameError","OrchestrationLoop","ProblemFramer","PromptChain","Rally","ReceptivityGate","ScopeFreeze","SynergisticMode","Validate","Workflow"]
---

# AcceptSpec

Non-compensatory acceptance contract; consumer Verify yields Solution or FrameError

Layer: Infrastructure · Category: Data Structures

## Mechanism

A strict, typed [Spec](https://mindscape.pages.dev/bootstrap/Spec.md) defining non-compensatory [Criteria](https://mindscape.pages.dev/bootstrap/Criteria.md) and [Constraint](https://mindscape.pages.dev/bootstrap/Constraint.md)s at solver boundaries. Each criterion is declared individually and carries a reframing hint for the FrameError emitted if it rejects. AcceptSpec is a Noun — it describes the contract. The active Verify surface of a Solver consumes the AcceptSpec, evaluates it against a Result, and yields either a Solution (on non-compensatory success) or a FrameError (on failure, carrying the specific rejecting gate and its reframing hint). A single AcceptSpec may be evaluated by multiple Verify surfaces. High quality in one dimension cannot compensate for failure in another.

## Invariants

- Non-Compensatory: Score(A) = 0 if any(Criterion) == Fail
- Typed Output: Result must match schema, not free text

## Failure modes

- Over-constraining: Setting specs so tight that no solution can pass (Deadlock).
- Spec Drift: The spec does not accurately reflect the true goal.

## Parameters

- `criterion_bar` (Enum, {Lenient, Normal, Strict}): How high each individual criterion's pass bar sits. Moves the bars; does not tolerate a failure once one is recorded, which the non-compensatory invariant forbids.
- `timeout` (Duration, unspecified): How long evaluation may run before yielding.

## Data schema

```json
{
  "type": "object",
  "required": [
    "criteria"
  ],
  "properties": {
    "criteria": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "threshold": {
            "type": "number",
            "minimum": 0,
            "maximum": 1,
            "description": "Minimum acceptable score for this criterion"
          },
          "comparator": {
            "type": "string"
          }
        }
      },
      "description": "Non-compensatory acceptance criteria"
    },
    "timeout": {
      "type": "string",
      "description": "Max validation wait time"
    }
  }
}
```

## Builds on

- [Constraint](https://mindscape.pages.dev/bootstrap/Constraint.md) (Infrastructure; References)
- [Criteria](https://mindscape.pages.dev/bootstrap/Criteria.md) (Infrastructure; References)
- [Spec](https://mindscape.pages.dev/bootstrap/Spec.md) (Infrastructure; References)

## Used by

- [AgentProtocol](https://mindscape.pages.dev/bootstrap/AgentProtocol.md) (Society; References)
- [BoundedTask](https://mindscape.pages.dev/bootstrap/BoundedTask.md) (Society; References)
- [DataMinimization](https://mindscape.pages.dev/bootstrap/DataMinimization.md) (Society; References)
- [DocumentedOverride](https://mindscape.pages.dev/bootstrap/DocumentedOverride.md) (Society; Accepts)
- [Elect](https://mindscape.pages.dev/bootstrap/Elect.md) (Society; Accepts)
- [FailureTrace](https://mindscape.pages.dev/bootstrap/FailureTrace.md) (Infrastructure; References)
- [FrameError](https://mindscape.pages.dev/bootstrap/FrameError.md) (Mind; References)
- [OrchestrationLoop](https://mindscape.pages.dev/bootstrap/OrchestrationLoop.md) (Society; References)
- [ProblemFramer](https://mindscape.pages.dev/bootstrap/ProblemFramer.md) (Mind; Yields)
- [PromptChain](https://mindscape.pages.dev/bootstrap/PromptChain.md) (Society; References)
- [Rally](https://mindscape.pages.dev/bootstrap/Rally.md) (Society; Accepts)
- [ReceptivityGate](https://mindscape.pages.dev/bootstrap/ReceptivityGate.md) (Society; References)
- [ScopeFreeze](https://mindscape.pages.dev/bootstrap/ScopeFreeze.md) (Mind; References)
- [SynergisticMode](https://mindscape.pages.dev/bootstrap/SynergisticMode.md) (Society; References)
- [Validate](https://mindscape.pages.dev/bootstrap/Validate.md) (Infrastructure; References)
- [Workflow](https://mindscape.pages.dev/bootstrap/Workflow.md) (Society; References)

## Identity

- Sema ID: `sema:AcceptSpec#mh:SHA-256:37fa28b93d390f8c8eb171eaab54ff4f9e57a95ef67af024422f823545a291cc`
- Ref: `AcceptSpec#37fa`
- Supersedes:
  - `sema:AcceptSpec#mh:SHA-256:70ddc45d00abda5ec5b7475b080d252f01c3db589490498563621665444293f1`
  - `sema:AcceptSpec#mh:SHA-256:c1565bf022e5596a447f7c9d9687ac3cbf1e6960f871be16f386eec02b5df2c4`
  - `sema:AcceptSpec#mh:SHA-256:a72492b72aac16bd5598ec5bfb9e0dffd7a53039c3217105996fa5cf062568f5`

## Links

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