# `omena-abstract-value`
Internal Rust crate for the Omena abstract class-value domain.
This crate owns the generic domain contract used to reason about dynamic class
values before they are projected into a selector universe.
Current public product:
- `omena-abstract-value.domain` — domain boundary summary for the abstract
class-value lattice and selector projection certainty contract.
- `intersect_abstract_class_values` — reduced-product intersection over finite,
prefix, suffix, character-inclusion, and composite class-value domains.
- `join_abstract_class_values` — least-upper-bound merge for branch-sensitive
class-value flow.
- `concatenate_abstract_class_values` — conservative string/template
concatenation over exact, finite, prefix, suffix, and prefix-suffix domains.
- `analyze_class_value_flow` — V0 1-CFA flow analysis over explicit
class-value flow graphs with assign/refine/concat/join transfers.
- `analyze_class_value_flow_incremental` — the same flow analysis surfaced with
an `omena-incremental` recomputation plan and next snapshot.
- `analyze_class_value_flow_incremental_with_reuse` — incremental flow analysis
that reuses the previous result when the plan is clean.
- `analyze_class_value_flow_incremental_batch_with_reuse` — multi-context
incremental flow analysis that reuses clean context results independently.
- `analyze_one_cfa_call_site_flows` — call-site-discriminated 1-CFA batch
analysis that preserves per-call-site flow results and callee exit summaries.
- `reduced_abstract_class_value_from_facts` /
`reduced_value_domain_kind_from_facts` — source fact reduction before
evaluator-facing domain-kind reporting.
Primary check:
```sh
cargo test
```
Publish readiness:
```sh
cargo fmt --all --check
cargo test
cargo clippy --all-targets --all-features -- -D warnings
cargo publish --dry-run
```