# lawref.expansion

*module*

Независимая эталонная развёртка профиля `law.expansion/0.1` (SPEC [§279.1](https://github.com/arxohq/law/blob/master/spec/SPEC.ru/39-part-xxxvii-open-issues-0-2.ru.md#2791-профиль-развёртки-lawexpansion01),
DECISION-0126).

Как и `term_sugar`, это намеренно маленький рукописный разбор поверхности
`expansion`/`expand`: модуль не импортирует и не вызывает `lawc`, чтобы
байтовый differential (`verify/ci/gates/differential/check_expansions.py`)
сравнивал две по-настоящему разные реализации одного prose-контракта.
Принимается ровно закрытый профиль [§279.1](https://github.com/arxohq/law/blob/master/spec/SPEC.ru/39-part-xxxvii-open-issues-0-2.ru.md#2791-профиль-развёртки-lawexpansion01); всё вне него отвергается громко —
либо диагностикой профиля (`LDC-E1335`…`LDC-E1342`, [§279.1.10](https://github.com/arxohq/law/blob/master/spec/SPEC.ru/39-part-xxxvii-open-issues-0-2.ru.md#279110-диагностики)), либо
`ExpansionSyntaxError` там, где сама поверхность вне узкого среза оракула
(qualified-ссылки, формулы `scope` сложнее конъюнкции атомов).

Вход — тексты файлов пакета (обычные модули с отношениями и экземплярами) и
предъявленный контекст пина [§279.1.8](https://github.com/arxohq/law/blob/master/spec/SPEC.ru/39-part-xxxvii-open-issues-0-2.ru.md#27918-пакет-определения-и-пин); выход — порождённые узлы CLIR с
`contentHash`, диагностики и карта [§279.1.9](https://github.com/arxohq/law/blob/master/spec/SPEC.ru/39-part-xxxvii-open-issues-0-2.ru.md#27919-source-map-lawexpansion-map01).

## lawref.expansion.BUDGET_CASES

*attribute* · *module attribute*

```python
BUDGET_CASES = 32
```

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

## lawref.expansion.BUDGET_LIST

*attribute* · *module attribute*

```python
BUDGET_LIST = 32
```

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

## lawref.expansion.BUDGET_NODES

*attribute* · *module attribute*

```python
BUDGET_NODES = 128
```

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

## lawref.expansion.BUDGET_PREMISES

*attribute* · *module attribute*

```python
BUDGET_PREMISES = 64
```

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

## lawref.expansion.MAP_FORMAT

*attribute* · *module attribute*

```python
MAP_FORMAT = 'law.expansion-map/0.1'
```

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

## lawref.expansion.MAP_FORMAT_02

*attribute* · *module attribute*

```python
MAP_FORMAT_02 = 'law.expansion-map/0.2'
```

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

## lawref.expansion.PROFILE

*attribute* · *module attribute*

```python
PROFILE = 'law.expansion/0.1'
```

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

## lawref.expansion.PROFILES

*attribute* · *module attribute*

```python
PROFILES = frozenset({PROFILE, PROFILE_02})
```

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

## lawref.expansion.PROFILE_02

*attribute* · *module attribute*

```python
PROFILE_02 = 'law.expansion/0.2'
```

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

## lawref.expansion.Argument

*class* · *dataclass*

```python
class Argument
```

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

### lawref.expansion.Argument.kind

*attribute* · *instance attribute*

```python
kind: str
```

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

### lawref.expansion.Argument.name

*attribute* · *instance attribute*

```python
name: str
```

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

### lawref.expansion.Argument.quantity

*attribute* · *class attribute* · *instance attribute*

```python
quantity: tuple[str, str] | None = None
```

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

### lawref.expansion.Argument.quantity_span

*attribute* · *class attribute* · *instance attribute*

```python
quantity_span: tuple[int, int] = (0, 0)
```

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

### lawref.expansion.Argument.spans

*attribute* · *class attribute* · *instance attribute*

```python
spans: tuple[tuple[int, int], ...] = ()
```

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

### lawref.expansion.Argument.values

*attribute* · *class attribute* · *instance attribute*

```python
values: tuple[str, ...] = ()
```

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

## lawref.expansion.Case

*class* · *dataclass*

```python
class Case
```

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

### lawref.expansion.Case.anchors

*attribute* · *instance attribute*

```python
anchors: list[str]
```

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

### lawref.expansion.Case.arguments

*attribute* · *instance attribute*

```python
arguments: dict[str, Argument]
```

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

### lawref.expansion.Case.labels

*attribute* · *instance attribute*

```python
labels: list[Label]
```

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

### lawref.expansion.Case.name

*attribute* · *instance attribute*

```python
name: str
```

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

### lawref.expansion.Case.name_span

*attribute* · *instance attribute*

```python
name_span: tuple[int, int]
```

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

### lawref.expansion.Case.param

*attribute* · *instance attribute*

```python
param: str
```

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

## lawref.expansion.DateTerm

*class* · *dataclass*

```python
class DateTerm
```

Датовый терм границы окна [§279.2.2](https://github.com/arxohq/law/blob/master/spec/SPEC.ru/39-part-xxxvii-open-issues-0-2.ru.md#27922-новые-типы-параметров-и-датовый-терм): связыватель Date, литерал даты либо
календарный шаг `add_calendar_period(<binder>, <quantity>)`.

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

### lawref.expansion.DateTerm.kind

*attribute* · *instance attribute*

```python
kind: str
```

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

### lawref.expansion.DateTerm.quantity

*attribute* · *class attribute* · *instance attribute*

```python
quantity: str = ''
```

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

### lawref.expansion.DateTerm.span

*attribute* · *class attribute* · *instance attribute*

```python
span: tuple[int, int] = (0, 0)
```

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

### lawref.expansion.DateTerm.value

*attribute* · *instance attribute*

```python
value: str
```

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

## lawref.expansion.Definition

*class* · *dataclass*

```python
class Definition
```

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

### lawref.expansion.Definition.alias

*attribute* · *class attribute* · *instance attribute*

```python
alias: str = ''
```

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

### lawref.expansion.Definition.emits

*attribute* · *instance attribute*

```python
emits: list[EmitRule | EmitPriority]
```

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

### lawref.expansion.Definition.exports

*attribute* · *instance attribute*

```python
exports: dict[str, tuple[str, ...]]
```

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

### lawref.expansion.Definition.file

*attribute* · *instance attribute*

```python
file: str
```

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

### lawref.expansion.Definition.local

*attribute* · *class attribute* · *instance attribute*

```python
local: bool = True
```

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

### lawref.expansion.Definition.name

*attribute* · *instance attribute*

```python
name: str
```

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

### lawref.expansion.Definition.params

*attribute* · *instance attribute*

```python
params: dict[str, ParamType]
```

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

### lawref.expansion.Definition.pin

*attribute* · *class attribute* · *instance attribute*

```python
pin: dict | None = None
```

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

### lawref.expansion.Definition.profile

*attribute* · *class attribute* · *instance attribute*

```python
profile: str = PROFILE_02
```

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

## lawref.expansion.DeonticHead

*class* · *dataclass*

```python
class DeonticHead
```

Деонтическая голова emit [§279.2.3](https://github.com/arxohq/law/blob/master/spec/SPEC.ru/39-part-xxxvii-open-issues-0-2.ru.md#27923-деонтическая-голова-emit).

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

### lawref.expansion.DeonticHead.bearer

*attribute* · *instance attribute*

```python
bearer: str
```

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

### lawref.expansion.DeonticHead.beneficiary

*attribute* · *instance attribute*

```python
beneficiary: str | None
```

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

### lawref.expansion.DeonticHead.end

*attribute* · *instance attribute*

```python
end: DateTerm
```

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

### lawref.expansion.DeonticHead.end_inclusive

*attribute* · *instance attribute*

```python
end_inclusive: bool
```

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

### lawref.expansion.DeonticHead.goal

*attribute* · *instance attribute*

```python
goal: MetaLiteral
```

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

### lawref.expansion.DeonticHead.goal_kind

*attribute* · *instance attribute*

```python
goal_kind: str
```

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

### lawref.expansion.DeonticHead.modality

*attribute* · *instance attribute*

```python
modality: str
```

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

### lawref.expansion.DeonticHead.path

*attribute* · *instance attribute*

```python
path: tuple[str, ...]
```

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

### lawref.expansion.DeonticHead.spans

*attribute* · *instance attribute*

```python
spans: dict[str, tuple[int, int]]
```

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

### lawref.expansion.DeonticHead.start

*attribute* · *instance attribute*

```python
start: DateTerm
```

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

## lawref.expansion.Diagnostic

*class* · *dataclass*

```python
class Diagnostic
```

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

### lawref.expansion.Diagnostic.code

*attribute* · *instance attribute*

```python
code: str
```

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

### lawref.expansion.Diagnostic.file

*attribute* · *class attribute* · *instance attribute*

```python
file: str = ''
```

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

### lawref.expansion.Diagnostic.message

*attribute* · *instance attribute*

```python
message: str
```

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

### lawref.expansion.Diagnostic.span

*attribute* · *class attribute* · *instance attribute*

```python
span: tuple[int, int] = (0, 0)
```

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

## lawref.expansion.EmitPriority

*class* · *dataclass*

```python
class EmitPriority
```

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

### lawref.expansion.EmitPriority.case_var

*attribute* · *instance attribute*

```python
case_var: str | None
```

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

### lawref.expansion.EmitPriority.cases_param

*attribute* · *class attribute* · *instance attribute*

```python
cases_param: str | None = None
```

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

### lawref.expansion.EmitPriority.labels_from

*attribute* · *instance attribute*

```python
labels_from: tuple[str, ...] | None
```

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

### lawref.expansion.EmitPriority.labels_prefix

*attribute* · *instance attribute*

```python
labels_prefix: str
```

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

### lawref.expansion.EmitPriority.over

*attribute* · *instance attribute*

```python
over: tuple[str, ...]
```

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

### lawref.expansion.EmitPriority.path

*attribute* · *instance attribute*

```python
path: tuple[str, ...]
```

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

### lawref.expansion.EmitPriority.path_span

*attribute* · *instance attribute*

```python
path_span: tuple[int, int]
```

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

### lawref.expansion.EmitPriority.prefer

*attribute* · *instance attribute*

```python
prefer: tuple[str, ...]
```

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

### lawref.expansion.EmitPriority.reason

*attribute* · *instance attribute*

```python
reason: str
```

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

### lawref.expansion.EmitPriority.source_fallback

*attribute* · *instance attribute*

```python
source_fallback: bool
```

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

### lawref.expansion.EmitPriority.source_from

*attribute* · *instance attribute*

```python
source_from: tuple[str, ...] | None
```

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

## lawref.expansion.EmitRule

*class* · *dataclass*

```python
class EmitRule
```

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

### lawref.expansion.EmitRule.binders

*attribute* · *instance attribute*

```python
binders: list[str]
```

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

### lawref.expansion.EmitRule.case_var

*attribute* · *instance attribute*

```python
case_var: str | None
```

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

### lawref.expansion.EmitRule.cases_param

*attribute* · *class attribute* · *instance attribute*

```python
cases_param: str | None = None
```

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

### lawref.expansion.EmitRule.deontic

*attribute* · *class attribute* · *instance attribute*

```python
deontic: DeonticHead | None = None
```

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

### lawref.expansion.EmitRule.effective_from_self

*attribute* · *instance attribute*

```python
effective_from_self: bool
```

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

### lawref.expansion.EmitRule.head

*attribute* · *instance attribute*

```python
head: MetaLiteral | None
```

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

### lawref.expansion.EmitRule.head_kind

*attribute* · *instance attribute*

```python
head_kind: str
```

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

### lawref.expansion.EmitRule.labels_from

*attribute* · *instance attribute*

```python
labels_from: tuple[str, ...] | None
```

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

### lawref.expansion.EmitRule.labels_prefix

*attribute* · *instance attribute*

```python
labels_prefix: str
```

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

### lawref.expansion.EmitRule.path

*attribute* · *instance attribute*

```python
path: tuple[str, ...]
```

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

### lawref.expansion.EmitRule.path_span

*attribute* · *instance attribute*

```python
path_span: tuple[int, int]
```

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

### lawref.expansion.EmitRule.premises

*attribute* · *instance attribute*

```python
premises: list[Premise]
```

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

### lawref.expansion.EmitRule.scope_from_self

*attribute* · *instance attribute*

```python
scope_from_self: bool
```

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

### lawref.expansion.EmitRule.source_fallback

*attribute* · *instance attribute*

```python
source_fallback: bool
```

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

### lawref.expansion.EmitRule.source_from

*attribute* · *instance attribute*

```python
source_from: tuple[str, ...] | None
```

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

### lawref.expansion.EmitRule.strength

*attribute* · *instance attribute*

```python
strength: str
```

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

## lawref.expansion.ExpansionSyntaxError

*class*

```python
class ExpansionSyntaxError(TermSyntaxError)
```

Bases: `lawref.term_sugar.TermSyntaxError`

Поверхность вне узкого среза эталонной реализации.

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

## lawref.expansion.ExternalRoleRef

*class* · *dataclass*

```python
class ExternalRoleRef
```

`prefer A.role over B` в обычном `priority` — [§279.1.6](https://github.com/arxohq/law/blob/master/spec/SPEC.ru/39-part-xxxvii-open-issues-0-2.ru.md#27916-экспортируемые-роли).

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

### lawref.expansion.ExternalRoleRef.file

*attribute* · *instance attribute*

```python
file: str
```

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

### lawref.expansion.ExternalRoleRef.instance

*attribute* · *instance attribute*

```python
instance: str
```

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

### lawref.expansion.ExternalRoleRef.role

*attribute* · *instance attribute*

```python
role: str
```

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

### lawref.expansion.ExternalRoleRef.span

*attribute* · *instance attribute*

```python
span: tuple[int, int]
```

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

## lawref.expansion.Instance

*class* · *dataclass*

```python
class Instance
```

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

### lawref.expansion.Instance.anchors

*attribute* · *instance attribute*

```python
anchors: list[str]
```

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

### lawref.expansion.Instance.arguments

*attribute* · *instance attribute*

```python
arguments: dict[str, Argument]
```

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

### lawref.expansion.Instance.binds

*attribute* · *instance attribute*

```python
binds: dict[str, tuple[str, str, tuple[int, int]]]
```

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

### lawref.expansion.Instance.cases

*attribute* · *instance attribute*

```python
cases: list[Case]
```

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

### lawref.expansion.Instance.effective

*attribute* · *instance attribute*

```python
effective: dict | None
```

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

### lawref.expansion.Instance.effective_span

*attribute* · *class attribute* · *instance attribute*

```python
effective_span: tuple[int, int] = (0, 0)
```

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

### lawref.expansion.Instance.explicit_id

*attribute* · *instance attribute*

```python
explicit_id: str | None
```

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

### lawref.expansion.Instance.file

*attribute* · *instance attribute*

```python
file: str
```

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

### lawref.expansion.Instance.labels

*attribute* · *instance attribute*

```python
labels: list[Label]
```

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

### lawref.expansion.Instance.name

*attribute* · *instance attribute*

```python
name: str
```

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

### lawref.expansion.Instance.name_span

*attribute* · *instance attribute*

```python
name_span: tuple[int, int]
```

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

### lawref.expansion.Instance.reference

*attribute* · *instance attribute*

```python
reference: str
```

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

### lawref.expansion.Instance.scope

*attribute* · *instance attribute*

```python
scope: tuple[tuple[str, tuple[str, ...]], ...] | None
```

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

### lawref.expansion.Instance.scope_span

*attribute* · *class attribute* · *instance attribute*

```python
scope_span: tuple[int, int] = (0, 0)
```

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

## lawref.expansion.Label

*class* · *dataclass*

```python
class Label
```

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

### lawref.expansion.Label.forms

*attribute* · *class attribute* · *instance attribute*

```python
forms: tuple[tuple[str, str], ...] = ()
```

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

### lawref.expansion.Label.language

*attribute* · *instance attribute*

```python
language: str
```

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

### lawref.expansion.Label.status

*attribute* · *instance attribute*

```python
status: str
```

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

### lawref.expansion.Label.text

*attribute* · *instance attribute*

```python
text: str
```

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

## lawref.expansion.MetaLiteral

*class* · *dataclass*

```python
class MetaLiteral
```

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

### lawref.expansion.MetaLiteral.args

*attribute* · *instance attribute*

```python
args: tuple[str, ...]
```

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

### lawref.expansion.MetaLiteral.negated

*attribute* · *class attribute* · *instance attribute*

```python
negated: bool = False
```

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

### lawref.expansion.MetaLiteral.relation

*attribute* · *instance attribute*

```python
relation: tuple[str, ...]
```

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

## lawref.expansion.Module

*class* · *dataclass*

```python
class Module
```

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

### lawref.expansion.Module.aliases

*attribute* · *instance attribute*

```python
aliases: dict[str, str]
```

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

### lawref.expansion.Module.constants

*attribute* · *instance attribute*

```python
constants: dict[str, tuple[str, str]]
```

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

### lawref.expansion.Module.declared_ids

*attribute* · *instance attribute*

```python
declared_ids: dict[str, tuple[int, int]]
```

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

### lawref.expansion.Module.definitions

*attribute* · *instance attribute*

```python
definitions: list[Definition]
```

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

### lawref.expansion.Module.entities

*attribute* · *instance attribute*

```python
entities: set[str]
```

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

### lawref.expansion.Module.file

*attribute* · *instance attribute*

```python
file: str
```

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

### lawref.expansion.Module.imports

*attribute* · *instance attribute*

```python
imports: set[str]
```

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

### lawref.expansion.Module.instances

*attribute* · *instance attribute*

```python
instances: list[Instance]
```

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

### lawref.expansion.Module.namespace

*attribute* · *instance attribute*

```python
namespace: str
```

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

### lawref.expansion.Module.parents

*attribute* · *instance attribute*

```python
parents: dict[str, str]
```

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

### lawref.expansion.Module.relations

*attribute* · *instance attribute*

```python
relations: dict[str, list[tuple[str, str]]]
```

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

### lawref.expansion.Module.role_refs

*attribute* · *instance attribute*

```python
role_refs: list[ExternalRoleRef]
```

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

### lawref.expansion.Module.text

*attribute* · *instance attribute*

```python
text: str
```

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

### lawref.expansion.Module.types

*attribute* · *instance attribute*

```python
types: set[str]
```

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

## lawref.expansion.ParamType

*class* · *dataclass*

```python
class ParamType
```

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

### lawref.expansion.ParamType.binders

*attribute* · *class attribute* · *instance attribute*

```python
binders: tuple[str, ...] = ()
```

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

### lawref.expansion.ParamType.fields

*attribute* · *class attribute* · *instance attribute*

```python
fields: dict[str, 'ParamType'] = field(default_factory=dict)
```

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

### lawref.expansion.ParamType.kind

*attribute* · *instance attribute*

```python
kind: str
```

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

### lawref.expansion.ParamType.min_len

*attribute* · *class attribute* · *instance attribute*

```python
min_len: int = 0
```

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

### lawref.expansion.ParamType.value_type

*attribute* · *class attribute* · *instance attribute*

```python
value_type: str | None = None
```

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

## lawref.expansion.Premise

*class* · *dataclass*

```python
class Premise
```

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

### lawref.expansion.Premise.day

*attribute* · *class attribute* · *instance attribute*

```python
day: str = ''
```

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

### lawref.expansion.Premise.event

*attribute* · *class attribute* · *instance attribute*

```python
event: str = ''
```

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

### lawref.expansion.Premise.events

*attribute* · *class attribute* · *instance attribute*

```python
events: MetaLiteral | None = None
```

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

### lawref.expansion.Premise.kind

*attribute* · *instance attribute*

```python
kind: str
```

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

### lawref.expansion.Premise.literal

*attribute* · *class attribute* · *instance attribute*

```python
literal: MetaLiteral | None = None
```

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

### lawref.expansion.Premise.source

*attribute* · *class attribute* · *instance attribute*

```python
source: tuple[str, ...] = ()
```

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

### lawref.expansion.Premise.threshold

*attribute* · *class attribute* · *instance attribute*

```python
threshold: str = ''
```

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

### lawref.expansion.Premise.var

*attribute* · *class attribute* · *instance attribute*

```python
var: str = ''
```

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

### lawref.expansion.Premise.window

*attribute* · *class attribute* · *instance attribute*

```python
window: str = ''
```

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

## lawref.expansion.Result

*class* · *dataclass*

```python
class Result
```

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

### lawref.expansion.Result.definitions

*attribute* · *instance attribute*

```python
definitions: list[dict]
```

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

### lawref.expansion.Result.diagnostics

*attribute* · *instance attribute*

```python
diagnostics: list[Diagnostic]
```

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

### lawref.expansion.Result.entries

*attribute* · *instance attribute*

```python
entries: list[dict]
```

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

### lawref.expansion.Result.nodes

*attribute* · *instance attribute*

```python
nodes: list[dict]
```

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

### lawref.expansion.Result.role_ids

*attribute* · *instance attribute*

```python
role_ids: dict[str, str]
```

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

### lawref.expansion.Result.ok

*property*

```python
ok: bool
```

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

## lawref.expansion.expand_package

*function*

```python
def expand_package(files: dict[str, str], context: list[dict] | None = None, base_dir: Path | None = None, declared_aliases: list[str] | None = None, imports: dict[str, str] | None = None, import_descriptors: list[dict] | None = None) -> Result
```

Развернуть все экземпляры пакета; `files` — имя файла → текст (порядок сборки).

`context` — записи `--expansions` ([§279.1.8](https://github.com/arxohq/law/blob/master/spec/SPEC.ru/39-part-xxxvii-open-issues-0-2.ru.md#27918-пакет-определения-и-пин)), пути `root` — от `base_dir`;
`declared_aliases` — алиасы `[expansions]` манифеста: объявленный и не
предъявленный контекстом — `LDC-E1340`, не `LDC-E1336`; `imports` — имя
пакета → namespace предъявленных зависимостей [§23](https://github.com/arxohq/law/blob/master/spec/SPEC.ru/06-part-vi-package-and-module-system.ru.md#23-import) (qualified-ссылки
`pkg::rel` в аргументах разрешаются в `<namespace>#rel`).

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

## lawref.expansion.expansion_map

*function*

```python
def expansion_map(result: Result, namespace: str, artifact_bytes: bytes) -> dict
```

Карта [§279.1.9](https://github.com/arxohq/law/blob/master/spec/SPEC.ru/39-part-xxxvii-open-issues-0-2.ru.md#27919-source-map-lawexpansion-map01) с привязкой к digest полных канонических байтов CLIR.

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

## lawref.expansion.pack_content_hash

*function*

```python
def pack_content_hash(root: Path, entry: str) -> str
```

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