mirror of
https://github.com/ModernRelay/omnigraph.git
synced 2026-06-15 01:55:13 +02:00
docs: omnigraph-api-types in the crate list; RFC-009 Phase 2 outcome
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
adbb2a181c
commit
3e2502c35e
2 changed files with 11 additions and 2 deletions
|
|
@ -17,7 +17,7 @@ Tools that support `@`-imports (Claude Code) auto-include all three files via th
|
|||
`CLAUDE.md` is a symlink to this file — there is exactly one source of truth. Edit `AGENTS.md`.
|
||||
|
||||
**Version surveyed:** 0.7.0
|
||||
**Workspace crates:** `omnigraph-compiler`, `omnigraph` (engine), `omnigraph-policy`, `omnigraph-cluster`, `omnigraph-cli`, `omnigraph-server`
|
||||
**Workspace crates:** `omnigraph-compiler`, `omnigraph` (engine), `omnigraph-policy`, `omnigraph-api-types` (shared HTTP wire DTOs), `omnigraph-cluster`, `omnigraph-cli`, `omnigraph-server`
|
||||
**Storage substrate:** Lance 6.x (columnar, versioned, branchable)
|
||||
**License:** MIT
|
||||
**Toolchain:** Rust stable, edition 2024
|
||||
|
|
|
|||
|
|
@ -90,7 +90,7 @@ default-deny by design — the harness encodes this), and inline execution's
|
|||
unbound-param matches-all vs the invoke path's hard error is a cross-path
|
||||
asymmetry, filed as #207 and pinned (not repaired) by the matrix.
|
||||
|
||||
### Phase 2 — One wire-DTO crate
|
||||
### Phase 2 — One wire-DTO crate *(landed)*
|
||||
|
||||
Move the HTTP request/response types and the single `engine result → DTO`
|
||||
mapping per verb into a shared crate (working name `omnigraph-api-types`),
|
||||
|
|
@ -122,6 +122,15 @@ neither axum nor the engine's internals. The engine crate does not depend on
|
|||
it — the `engine result → DTO` mapping lives in the shared crate (or the CLI/
|
||||
server side), taking engine result types as input.
|
||||
|
||||
**Phase 2 outcome (landed):** `crates/omnigraph-api-types` holds the wire
|
||||
DTOs + their `engine-result → DTO` mappings; `omnigraph-server::api` is a
|
||||
`pub use` re-export (so `openapi.json` is byte-identical — the referee
|
||||
passed with zero diff), and the CLI consumes the crate directly. One
|
||||
deliberate refinement of the original sketch: `LoadOutput` is a rendered
|
||||
CLI output type, not a wire DTO, so it stayed CLI-side — both its mappings
|
||||
(local `LoadResult`, remote `IngestOutput`) now sit together in
|
||||
`output.rs`. The parity matrix passed textually unchanged.
|
||||
|
||||
### Phase 3 — `GraphClient` trait, two implementations
|
||||
|
||||
```text
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue