# Implicit Contract

Record: `arch:implicit-contract`
Kind: anti-pattern
Layer: [Enforcement Core](https://banes-lab.com/records/layer/enforcement-core.md)
Severity: discouraged
Scope: contract_compatibility, causality_ordering
Canonical: https://banes-lab.com/ontology#arch-implicit-contract

## Repair

- Refactored by: add_explicit_contract, define_preconditions, define_postconditions, add_schema, add_contract_tests
- Detected by: public_API_without_schema, undocumented_side_effect, dynamic_map_boundary, tests_depend_on_internal_behavior, tribal_knowledge_required
- Violated by: Encode assumptions in code behavior, naming, [ordering](https://banes-lab.com/records/lex/ordering.md), timing, [side effects](https://banes-lab.com/records/lex/side-effects.md), or undocumented payload shapes instead of declaring them as explicit contracts.

## referenced-by

- [Explicit Contracts](https://banes-lab.com/records/arch/explicit-contracts.md)
