# Fan-In Ceiling

> A rule or precondition that the useful number of parties is bounded by the fan-in of the most contended surface, where claims resting on it go stale faster than they help.

Record: `architecture:fan-in-ceiling`
Kind: constraint
Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)
Severity: contextual
Scope: allocation, surface
Canonical: https://banes-lab.com/ontology#architecture-fan-in-ceiling

Listed in [Architecture principles](https://banes-lab.com/api/records/architecture.md), after [Derived Party Count](https://banes-lab.com/records/architecture/derived-party-count.md) and before [State-Arity Limit](https://banes-lab.com/records/architecture/state-arity-limit.md).

## Repair

- Refactored by: Mark Claims With the Moment Their Surface Was Read, or Partition the Surface
- Detected by: a surface whose claims are answered more often than they are used
- Violated by: adding parties who all reason about the same surface
- Measured by: stale claims published per surface
- Enforced by: none: no mechanism counts fan-in, so the bound rests on review

## Requires

- [Fan-In](https://banes-lab.com/records/lexicon/fan-in.md)

## Reinforces

- [Derived Party Count](https://banes-lab.com/records/architecture/derived-party-count.md)

## Enables

- [Traceable Guarantee](https://banes-lab.com/records/lexicon/traceable-guarantee.md)

## Severity

- [contextual](https://banes-lab.com/records/vocabulary/severity-contextual.md)

## Category

- [Coordination Surfaces](https://banes-lab.com/records/architecture-category/coordination-surfaces.md)

## Linked from

- [Scale follows from structure](https://banes-lab.com/disciplined-methodology/ship/scale-follows-from-structure.md)
- [Coordination Surfaces](https://banes-lab.com/ontology/principles/architecture-category-coordination-surfaces.md)
- [Coordination Surfaces](https://banes-lab.com/ontology/lexicon/lexicon-category-coordination-surfaces.md)
- [Severity levels](https://banes-lab.com/ontology/schema/the-vocabulary-severity.md)

## Evidence in the code

- [models/coupling.model.md](https://banes-lab.com/source/coordination/models/coupling.model.md.md)
