omena-abstract-value 0.4.0

Abstract class value domain and selector projection contracts
Documentation

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:

cargo test --manifest-path rust/Cargo.toml -p omena-abstract-value

Split boundary check:

pnpm omena-check bundle rust/omena-abstract-value/split-boundary