macroonz-compiler 0.1.0

Deterministic Rust code generation for procedural macros: plan, render, close, explain, and bind one sealed expansion from declared input.
Documentation
# expansion — one request's sealed result

An expansion is the point at which one request's plan, proof, and explanation become one result that may release generated material.

The boundary exists because those values are produced separately.
Sharing a kind does not prove that they describe the same request, the same rendering, or the same answered subject.

## Binding one account

Binding compares the parent identities carried by all three values and refuses the first disagreement without electing either side.
Only after they agree does the home derive the identity of the whole expansion.

```mermaid
flowchart LR
    accTitle: Expansion binding and delivery
    accDescr: A plan, closure, and explanation bind only when their parent identities agree, after which the sealed expansion exposes proved build deliveries and addressed publication units.

    P["Plan<br/>what will exist"]
    C["Closure<br/>what the rendering proved"]
    E["Explanation<br/>what the decisions mean"]
    B{{"Bind<br/>parent identities agree"}}
    X["Sealed expansion"]
    D["Build deliveries"]
    A["Publication units<br/>each keeps its address"]

    P -->|"supplies the planned identity"| B
    C -->|"names the plan it proved"| B
    E -->|"names the plan and closure"| B
    B -->|"derives one identity"| X
    X -->|"borrows proved partitions"| D
    X -->|"reads the proved rendering"| A

    classDef authority fill:#e9f5ff,stroke:#1769aa,color:#102a43,stroke-width:2px
    classDef operation fill:#fff3cd,stroke:#9a6700,color:#3d2b00,stroke-width:2px
    classDef result fill:#e8f8ef,stroke:#1f7a45,color:#123524,stroke-width:3px
    classDef evidence fill:#f2e9ff,stroke:#6f42c1,color:#2f1b52,stroke-width:2px
    class P,C,E authority
    class B operation
    class X result
    class D,A evidence
```

The plan states the complete output set.
The closure proves the rendered set against that plan and carries the resulting delivery partitions.
The explanation answers over both.
The expansion seals their agreement rather than reproducing any of their answers.

## Emission remains proved

The expansion stores no second token collection.
Build deliveries are borrowed from the closure that joined and proved them, so emitted material cannot drift from the proof that authorized it.

Publication artifacts remain individual rendered units because each unit carries its own planned address.
Combining them into one stream would erase the boundary a publisher must preserve.

## Accounting without inference

An expansion says what one door produced and is deliberately silent about kinds that produced nothing.
The accounting value seats the expansion beside a kind-owned completeness witness that gives every declared kind one disposition in declaration order.

The compiler verifies the witness's completeness before this home accepts it.
Which row stands for the generated expansion remains the consumer door's decision because this compiler owns no product kinds.

## Trust ceiling

This home proves agreement among the plan, closure, and explanation and provides the only route from that agreement to generated material.
It does not name a carrier, publish an artifact, or claim that any consumer target invoked a delivery.

A binding refusal is an ordinary typed error and projects through the compiler's shared diagnostic contract.
Because binding stops at the first parentage disagreement, the refusal has one cause, no related remainder, and the repair declared by this home.