Baustein · Maschinenzugang
API-Spine
Das maschinenlesbare Rückgrat (OpenAPI) hinter den Fassaden der Website.
vorbereitet Maschinenzugang Lizenz im Crate nicht deklariert (Korpus: Apache-2.0) kein öffentlicher Endpunkt Quellcode auf GitHub
L2.5 · registry/api
Sofort starten
Voraussetzungen:
- Rust (stable über rustup) und Git; alle Befehle laufen aus der Wurzel des Korpus-Checkouts.
cargo run --locked --manifest-path registry/api/spine/Cargo.toml -- serve --root . --port 8710Erwartet: oh-api serving on 127.0.0.1:8710
Herunterladen
- Quellcode
- https://github.com/OpenHelvetia/api-spine-oh · registry/api
- Release
- noch nicht Noch kein getaggtes Release; das erste folgt mit der Publikations-Strecke.
- Container-Image
- noch nicht Noch kein Container-Image veröffentlicht.
- Crate
- nicht vorgesehen — das Modul ist kein Bibliotheks-Crate
git clone https://github.com/OpenHelvetia/api-spine-oh
Abhängigkeiten
- Braucht
- Registry-Standard Entwurf
- Gebraucht von
- MCP-Gateway vorbereitet · A2A-Agent vorbereitet
- Dokumentation
- die Seite in der Dokumentation
Zustand und Belege
vorbereitet — gebaut und getestet, nicht öffentlich serviert.
Jeder Beleg trägt seine Quelle. Als «nachgezählt» markierte Werte zählt der Generator bei jedem Build aus der Quelle; weicht die Zahl ab, bricht der Build.
| Messgrösse | Wert | Quelle |
|---|---|---|
| Operationen | 14 14 Operationen in openapi.json (OpenAPI 3.0.3, 19 Komponenten-Schemas), 14 Zeilen im Fähigkeitsregister, 1:1 durch einen Test bewiesen nachgezählt: jq '[.paths[] | to_entries[] | select(.key | IN("get","post","put","delete","patch"))] | length' registry/api/openapi.json |
registry/api/openapi.json |
| Erzeugter Client | aus der Spezifikation erzeugt (progenitor =0.14.0), nie von Hand berührt, 1462 Zeilen; die Spezifikation selbst kommt aus dem Code (dropshot =0.17.1) | registry/api |
| Drift-Tore bei jedem Commit | vier Abgleiche emittiert-gegen-eingecheckt, alle vier grün: OpenAPI-Spezifikation, erzeugter Client, RFC-9728-Metadaten, Werkzeug-Inventar | registry/api |
| Datenquelle | das Register-Repository selbst, streng lesend — kein Schreibpfad im Code; /directory liefert die zwei eigenen Einträge in der Form des Verzeichnis-Schemas, /ns/artifacts spiegelt die 8 Zeilen des Siegelregisters | registry/api |
| Geteilter Vertrag | die Verzeichnis-Hülle der API wird gegen dasselbe registry/standard/directory.schema.json geprüft, aus dem die Website ihre eigene Hülle stempelt — geteiltes Schema statt kopierter Logik | registry/api |
| Fähigkeitsregister | 14 Zeilen: 8 über MCP und den Client belegt, 6 Login-Zeilen (REST und UI, nie MCP); die Tests prüfen gegen das Register, nicht gegen eine feste Zahl | registry/api/spine/src/lib.rs |
Was fehlt
- bis in Betrieb: Der Spine ist an keiner öffentlichen Adresse erreichbar: oh-api serve bindet an 127.0.0.1, das Serving hängt am ld.*-Umschalter, und die Website teilt mit ihm nur das Schema. Die veröffentlichte Deckungszahl ist zurzeit nicht bewiesen — der End-zu-End-Test, der jede Registerzeile durch den erzeugten Client fährt, scheitert an einer fest verdrahteten 8, und registry/api/README.md nennt weiterhin fünf Fähigkeiten und «api-client 5/5 = 100 %», während das Register vierzehn Zeilen hat.
Verlauf
- 2026-09-03 Quellcode als eigenes Repository auf GitHub publiziert (Publikations-Strecke, Welle 2).
Dokumentation
- API-Spine in der Dokumentation: was es tut, betreiben, testen, ansteuern
- Selbst betreiben · Testen · Ansteuern