# `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.
- `analyze_class_value_flow` — per-supplied-graph flow analysis with
assign/refine/join transfers; it does not derive call sites or a call graph.
- `analyze_class_value_control_flow_graph` — CFG-aware flow analysis that
prunes unreachable blocks before evaluating class-value transfer facts.
- `analyze_k_limited_call_site_flows` — k-limited partitioning over
caller-supplied call-site stacks, followed by one join pass per retained
context; it does not derive a call graph or run an interprocedural fixed
point.
- `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_with_database` — Salsa-backed
incremental flow entrypoint that keeps `omena-incremental` DB state across
requests while preserving the existing analysis result contract.
- `reduced_abstract_class_value_from_facts` /
`reduced_value_domain_kind_from_facts` — source fact reduction before
evaluator-facing domain-kind reporting.
- `summarize_abstract_class_value_provenance_tree` — self-contained V0
explanation tree for exact, finite, constrained, widened, reduced-product,
and flow-produced abstract class values.
- `summarize_cascade_value_family_v0` — M6 research-staged, framing-neutral
cascade-family substrate for context-indexed property values and
parent-to-child restriction records. This is a cascade-section scaffold, not
a completed gluing theorem.
Primary check:
```sh
cargo test --manifest-path rust/Cargo.toml -p omena-abstract-value
```
Split boundary check:
```sh
pnpm omena-check bundle rust/omena-abstract-value/split-boundary
```