---
title: "Semaprax Architektur: Semantischer Programmgraph"
canonical: https://wavect.io/de/semaprax/architecture/
language: de
description: "Wie Semaprax mit semantischem Programmgraphen, stabilen IDs, begrenztem Kontext, Revisionen und semantischen Patches eine agentenlesbare Compilerarchitektur bildet."
image: "https://wavect.io/img/general/bak/open_graph_preview.jpg"
---

ARCHITEKTUR · GRAPH V10-V14

# Ein Programmmodell, das Agenten abfragen können, ohne Bedeutung aus Text zu rekonstruieren.

Zuerst stabile Identität. Dann Quelltextänderungen.

Der semantische Programmgraph von Semaprax erfasst typisierte Deklarationen, Effekte, Verträge, Ownership-Fakten, Aufrufbeziehungen und Lowering-Identitäten unter einer inhaltsabgeleiteten Revision.

semaprax://architecture v0.2

```
entity     Semaprax
status     Pre-Alpha-Forschung
verified   2026-08-11
authority  github.com/wavect/semaprax
```

## Wie funktioniert Semaprax?

Semaprax überführt menschenlesbaren Quelltext in validiertes HIR und einen versionierten semantischen Graphen. Agenten fordern begrenzten Kontext per stabiler ID an, prüfen oder senden einen Patch gegen eine exakte Revision und erhalten deterministische Diagnosen oder Evidenz vor dem nativen oder Wasm-Lowering.

// 01

## Zuerst stabile Identität. Dann Quelltextänderungen.

### Stabile semantische Identität

Verfasste `@id`-Werte und Compiler-Identitäten bleiben über Quelltext, HIR, Graph, Diagnosen und generierte Symbole hinweg erhalten. NUL-Zeichen werden vor der Ausgabe abgewiesen.

### Begrenzter Agentenkontext

Agent Context v1 und v2 liefern abhängigkeitsspezifische Graphausschnitte mit expliziten Grenzen für Knoten, Bytes, Tiefe und Traversierung.

### Revisionsgebundene semantische Patches

Patch-Operationen adressieren semantische Identitäten und eine exakte Graphrevision. Veraltete Revisionen scheitern geschlossen; aktuelle Operationen bleiben bewusst begrenzt.

### Evidenz vor Veröffentlichung

Review-, Impact-, Target- und Workspace-Evidenzwege erzeugen deterministische Artefakte mit klaren Nichtaussagen. Sie ersetzen weder Freigabe noch Projekttests.

// 02

## Die Quelltextprojektion bleibt lesbar

```
module examples.meaning;

@id("math.add")
fn add(left: i64, right: i64) -> i64
    requires left >= 0
    ensures result == left + right
{
    left + right
}
```

Die GitHub-Spezifikationen sind die normative Quelle. Diese Seite ist eine datierte Forschungszusammenfassung. [GitHub-Repository](https://github.com/wavect/semaprax).

// FAQ

## Fragen, ohne Hype beantwortet

### Ist der semantische Graph ein Knowledge Graph oder RAG-System?

Nein. Er ist die typisierte, versionierte Programmrepräsentation des Compilers, nicht eine Sammlung generischer Dokumente oder Embeddings.

### Kann ein Agent jedes Programm semantisch patchen?

Noch nicht. Aktuelle Schemas erlauben begrenzte Operationen und lehnen veraltete Revisionen, falsche Selektoren und semantische Ausweitungen ab.

Forschungsprojekt von Wavect: [Wavect GmbH](/de/). Von Wavect als Open-Source-Forschungsprojekt für Programmiersysteme entwickelt.

## Structured Data

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@id": "https://wavect.io/#organization",
      "@type": [
        "Organization",
        "ProfessionalService",
        "LocalBusiness"
      ],
      "employee": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "founder": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "legalRepresentative": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "name": "Wavect GmbH",
      "subjectOf": {
        "@id": "https://wavect.io/verified-claims.json#dataset",
        "@type": "Dataset",
        "creator": {
          "@id": "https://wavect.io/#organization",
          "@type": [
            "Organization",
            "ProfessionalService",
            "LocalBusiness"
          ]
        },
        "description": "A machine-readable registry of quantitative and qualitative claims published by Wavect, with review dates, localized page appearances and public third-party citations where available.",
        "inLanguage": "en",
        "isAccessibleForFree": true,
        "license": "https://creativecommons.org/licenses/by/4.0/",
        "name": "Wavect verified publication claims",
        "url": "https://wavect.io/verified-claims.json"
      },
      "url": "https://wavect.io/"
    },
    {
      "@id": "https://wavect.io/team/kevin-riedl/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Kevin Riedl",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796365",
        "https://www.linkedin.com/in/wsdt",
        "https://github.com/wsdt"
      ],
      "url": "https://wavect.io/team/kevin-riedl/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/team/christof-jori/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Christof Jori",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796367",
        "https://www.linkedin.com/in/jocr77/",
        "https://github.com/jo-chris"
      ],
      "url": "https://wavect.io/team/christof-jori/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/#website",
      "@type": "WebSite",
      "inLanguage": [
        "en",
        "de",
        "es",
        "zh"
      ],
      "name": "Wavect",
      "potentialAction": {
        "@type": "SearchAction",
        "query-input": "required name=search_term_string",
        "target": {
          "@type": "EntryPoint",
          "urlTemplate": "https://wavect.io/search/?q={search_term_string}"
        }
      },
      "publisher": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "url": "https://wavect.io/"
    },
    {
      "@id": "https://wavect.io/de/semaprax/architecture/#webpage",
      "@type": "WebPage",
      "dateModified": "2026-08-11",
      "inLanguage": "de",
      "isPartOf": {
        "@id": "https://wavect.io/#website",
        "@type": "WebSite"
      },
      "lastReviewed": "2026-08-11",
      "url": "https://wavect.io/de/semaprax/architecture/"
    },
    {
      "@id": "https://wavect.io/verified-claims.json#semaprax-v02-semantic-graph-patches",
      "@type": "Claim",
      "appearance": {
        "@id": "https://wavect.io/de/semaprax/architecture/#webpage",
        "@type": "WebPage",
        "inLanguage": "de",
        "url": "https://wavect.io/de/semaprax/architecture/"
      },
      "author": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "citation": {
        "@type": "WebPage",
        "url": "https://github.com/wavect/semaprax/blob/main/docs/SEMANTIC-PATCH-V2.md"
      },
      "dateModified": "2026-08-11",
      "identifier": "semaprax-v02-semantic-graph-patches",
      "inLanguage": "en",
      "text": "The Semaprax v0.2 prototype exposes a stable, queryable semantic program graph and revision-bound semantic patch operations for documented language subsets."
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@id": "https://wavect.io/de/semaprax/architecture/#webpage",
      "@type": "WebPage",
      "creator": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "dateModified": "2026-08-11",
      "description": "Wie Semaprax mit semantischem Programmgraphen, stabilen IDs, begrenztem Kontext, Revisionen und semantischen Patches eine agentenlesbare Compilerarchitektur bildet.",
      "inLanguage": "de",
      "mainEntity": {
        "@id": "https://wavect.io/de/semaprax/architecture/#article",
        "@type": "TechArticle"
      },
      "name": "Semaprax Architektur: Semantischer Programmgraph | Wavect",
      "url": "https://wavect.io/de/semaprax/architecture/"
    },
    {
      "@id": "https://wavect.io/de/semaprax/architecture/#article",
      "@type": "TechArticle",
      "about": {
        "@id": "https://wavect.io/semaprax/#software",
        "@type": "SoftwareSourceCode"
      },
      "author": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "dateModified": "2026-08-11",
      "datePublished": "2026-08-11",
      "description": "Wie Semaprax mit semantischem Programmgraphen, stabilen IDs, begrenztem Kontext, Revisionen und semantischen Patches eine agentenlesbare Compilerarchitektur bildet.",
      "headline": "Ein Programmmodell, das Agenten abfragen können, ohne Bedeutung aus Text zu rekonstruieren.",
      "inLanguage": "de",
      "isPartOf": {
        "@id": "https://wavect.io/semaprax/#webpage",
        "@type": "WebPage"
      },
      "mainEntityOfPage": {
        "@id": "https://wavect.io/de/semaprax/architecture/#webpage"
      },
      "publisher": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "url": "https://wavect.io/de/semaprax/architecture/"
    },
    {
      "@id": "https://wavect.io/semaprax/#software",
      "@type": "SoftwareSourceCode"
    },
    {
      "@id": "https://wavect.io/de/semaprax/architecture/#faq",
      "@type": "FAQPage",
      "inLanguage": "de",
      "mainEntity": [
        {
          "@type": "Question",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Nein. Er ist die typisierte, versionierte Programmrepräsentation des Compilers, nicht eine Sammlung generischer Dokumente oder Embeddings."
          },
          "name": "Ist der semantische Graph ein Knowledge Graph oder RAG-System?"
        },
        {
          "@type": "Question",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Noch nicht. Aktuelle Schemas erlauben begrenzte Operationen und lehnen veraltete Revisionen, falsche Selektoren und semantische Ausweitungen ab."
          },
          "name": "Kann ein Agent jedes Programm semantisch patchen?"
        }
      ],
      "url": "https://wavect.io/de/semaprax/architecture/"
    },
    {
      "@id": "https://wavect.io/verified-claims.json#semaprax-v02-semantic-graph-patches",
      "@type": "Claim",
      "appearance": {
        "@id": "https://wavect.io/de/semaprax/architecture/#webpage",
        "@type": "WebPage",
        "inLanguage": "de",
        "url": "https://wavect.io/de/semaprax/architecture/"
      },
      "author": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "citation": {
        "@type": "WebPage",
        "url": "https://github.com/wavect/semaprax/blob/main/docs/SEMANTIC-PATCH-V2.md"
      },
      "dateModified": "2026-08-11",
      "identifier": "semaprax-v02-semantic-graph-patches",
      "inLanguage": "en",
      "text": "The Semaprax v0.2 prototype exposes a stable, queryable semantic program graph and revision-bound semantic patch operations for documented language subsets."
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "item": "https://wavect.io/de/",
      "name": "Startseite",
      "position": 1
    },
    {
      "@type": "ListItem",
      "item": "https://wavect.io/de/semaprax/",
      "name": "Semaprax",
      "position": 2
    },
    {
      "@type": "ListItem",
      "item": "https://wavect.io/de/semaprax/architecture/",
      "name": "Ein Programmmodell, das Agenten abfragen können, ohne Bedeutung aus Text zu rekonstruieren.",
      "position": 3
    }
  ]
}
```
