Stable semantic identity
Authored @id values and compiler-owned identities persist across source projections, HIR, graph serialization, diagnostics, and generated symbols. Identity is validated as NUL-free before it reaches machine output.
Stable identity first. Source edits second.
The Semaprax semantic program graph records typed declarations, effects, contracts, ownership facts, call relationships, and lowering identities under a content-derived revision.
entity Semaprax
status pre-alpha research
verified 2026-08-11
authority github.com/wavect/semapraxSemaprax parses human-readable source into validated HIR and a versioned semantic graph. Agents request bounded context by stable ID, preview or submit a patch against an exact revision, and receive deterministic diagnostics or evidence before native or Wasm lowering.
Authored @id values and compiler-owned identities persist across source projections, HIR, graph serialization, diagnostics, and generated symbols. Identity is validated as NUL-free before it reaches machine output.
Agent Context v1 and v2 return dependency-bounded graph slices with explicit node, byte, depth, and traversal limits. The default remains v1; v2 adds directional call traversal and separate frontiers.
Patch operations target semantic identities and an exact graph revision. Stale revisions fail closed. Current patch families are deliberately bounded, including renames and selected persistent member, case, and generic-call changes.
Review, impact, target-evidence, and workspace-evidence routes produce deterministic artifacts with explicit nonclaims. They do not grant approval, prove general correctness, or replace project tests.
module examples.meaning;
@id("math.add")
fn add(left: i64, right: i64) -> i64
requires left >= 0
ensures result == left + right
{
left + right
}GitHub specifications are the normative source. This page is a dated research summary. GitHub repository.
No. It is the compiler's typed, versioned program representation. It records declarations, identities, effects, contracts, relationships, and lowering facts rather than generic documents or embeddings.
Not yet. Current patch schemas admit bounded operation families and reject stale revisions, unsupported selectors, malformed artifacts, and semantic widening.