# Forward Compatibility

> A rule or precondition that an older reader accepts data from a newer writer by ignoring the fields it does not know rather than failing on them.

Record: `architecture:forward-compatibility`
Kind: constraint
Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)
Severity: recommended
Scope: API, schema, protocol
Aliases: Unknown Field Handling
Canonical: https://banes-lab.com/ontology#architecture-forward-compatibility

Listed in [Architecture principles](https://banes-lab.com/api/records/architecture.md), after [Backward Compatibility](https://banes-lab.com/records/architecture/backward-compatibility.md) and before [Versioning](https://banes-lab.com/records/architecture/versioning.md).

## Repair

- Refactored by: Add Extension Points, Ignore Unknown Fields Safely
- Detected by: parser failures on additive changes
- Violated by: rejecting unknown safe fields
- Measured by: forward-compatibility test pass rate
- Enforced by: compatibility test matrix

## Requires

- [Extensible Schema](https://banes-lab.com/records/lexicon/extensible-schema.md)

## Reinforces

- [Evolutionary Architecture](https://banes-lab.com/records/architecture/evolutionary-architecture.md)

## Enables

- [Rolling Upgrades](https://banes-lab.com/records/lexicon/rolling-upgrades.md)

## Conflicts with

- [Strict Fragile Parsers](https://banes-lab.com/records/lexicon/strict-fragile-parsers.md)

## In tension with

- [Strong Validation](https://banes-lab.com/records/lexicon/strong-validation.md)

## Tensions

- [Forward Compatibility / Strong Validation](https://banes-lab.com/records/tension/forward-compatibility-strong-validation.md)

## Severity

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

## Category

- [Contracts / Interfaces / Compatibility](https://banes-lab.com/records/architecture-category/contracts-interfaces-compatibility.md)

## Linked from

- [Architecture Review / Evolution / Governance Artifacts](https://banes-lab.com/ontology/principles/architecture-category-architecture-review-evolution-governance-artifacts.md)
- [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/lexicon/lexicon-category-contracts-interfaces-compatibility.md)
- [Severity levels](https://banes-lab.com/ontology/schema/the-vocabulary-severity.md)
- [The resolutions](https://banes-lab.com/ontology/schema/the-resolutions.md)
