# lawref.evaluator.precedent

*module*

Профиль прецедента [§276.1](https://github.com/arxohq/law/blob/master/spec/SPEC.ru/39-part-xxxvii-open-issues-0-2.ru.md#2761-область-и-вход)–[§276.9](https://github.com/arxohq/law/blob/master/spec/SPEC.ru/39-part-xxxvii-open-issues-0-2.ru.md#2769-результат-и-проверяемость) (law.precedent/0.2, DECISION-0090).

Здесь НЕТ исполнения holding: порождённые [§276.10](https://github.com/arxohq/law/blob/master/spec/SPEC.ru/39-part-xxxvii-open-issues-0-2.ru.md#27610-нормативная-форма-lowering) правила исполняет baseline
как любые другие. Профиль читает ДЕКЛАРАЦИИ (`factor_vocabulary`,
`precedent_decl`) и итоговый мир вычисления и отвечает, что они говорят о
деле: статус каждого прецедента включением множеств ([§276.4](https://github.com/arxohq/law/blob/master/spec/SPEC.ru/39-part-xxxvii-open-issues-0-2.ru.md#2764-фактическая-ситуация-и-связанность)–[§276.6](https://github.com/arxohq/law/blob/master/spec/SPEC.ru/39-part-xxxvii-open-issues-0-2.ru.md#2766-сила-и-отмена)),
связанность после отбрасывания доминированных ([§276.7](https://github.com/arxohq/law/blob/master/spec/SPEC.ru/39-part-xxxvii-open-issues-0-2.ru.md#2767-конфликт-и-ранг-суда)), непротиворечивость
базы ([§276.8](https://github.com/arxohq/law/blob/master/spec/SPEC.ru/39-part-xxxvii-open-issues-0-2.ru.md#2768-непротиворечивость-базы)) и сходятся ли декларации с тем, что сделали правила
(`agreesWithRules`, [§276.9](https://github.com/arxohq/law/blob/master/spec/SPEC.ru/39-part-xxxvii-open-issues-0-2.ru.md#2769-результат-и-проверяемость)). Всё детерминировано: порядок — канонический
порядок id, ни одного множества без сортировки на выходе.

## lawref.evaluator.precedent.DEFAULT_MAX_PRECEDENTS

*attribute* · *module attribute*

```python
DEFAULT_MAX_PRECEDENTS = 64
```

[View source](https://github.com-arxohq/arxo-io/law/blob/2edc2b92ce22b52e03f4081d2769a58229684379/engines/lawref/lawref/evaluator/precedent.py#L18-L18)

## lawref.evaluator.precedent.ProfileLimit

*class*

```python
class ProfileLimit(Exception)
```

Bases: `Exception`

Превышен кап [§276.9](https://github.com/arxohq/law/blob/master/spec/SPEC.ru/39-part-xxxvii-open-issues-0-2.ru.md#2769-результат-и-проверяемость) — fatal RESOURCE_LIMIT без частичного вывода.

[View source](https://github.com-arxohq/arxo-io/law/blob/2edc2b92ce22b52e03f4081d2769a58229684379/engines/lawref/lawref/evaluator/precedent.py#L21-L27)

### lawref.evaluator.precedent.ProfileLimit.counter

*attribute* · *instance attribute*

```python
counter = counter
```

[View source](https://github.com-arxohq/arxo-io/law/blob/2edc2b92ce22b52e03f4081d2769a58229684379/engines/lawref/lawref/evaluator/precedent.py#L26-L26)

### lawref.evaluator.precedent.ProfileLimit.limit

*attribute* · *instance attribute*

```python
limit = limit
```

[View source](https://github.com-arxohq/arxo-io/law/blob/2edc2b92ce22b52e03f4081d2769a58229684379/engines/lawref/lawref/evaluator/precedent.py#L27-L27)

## lawref.evaluator.precedent.evaluate_profile

*function*

```python
def evaluate_profile(nodes: list[dict], store, registry, target: dict, legal_time: str, limits: dict | None = None) -> dict
```

Полный прогон профиля; результат — value-словарь [§276.9](https://github.com/arxohq/law/blob/master/spec/SPEC.ru/39-part-xxxvii-open-issues-0-2.ru.md#2769-результат-и-проверяемость).

[View source](https://github.com-arxohq/arxo-io/law/blob/2edc2b92ce22b52e03f4081d2769a58229684379/engines/lawref/lawref/evaluator/precedent.py#L117-L253)
