generated from coulomb/repo-seed
Implement first knowledge engine runtime slice
This commit is contained in:
42
docs/service-api-boundary.md
Normal file
42
docs/service-api-boundary.md
Normal file
@@ -0,0 +1,42 @@
|
||||
# Service API Boundary
|
||||
|
||||
Date: 2026-05-05
|
||||
|
||||
## Decision
|
||||
|
||||
The first service boundary will be an optional FastAPI layer over the
|
||||
programmatic contracts implemented in `kontextual_engine`. The service must not
|
||||
define separate business behavior; it should expose the same artifact,
|
||||
collection, relationship, ingestion, query, workflow, and context operations as
|
||||
HTTP resources.
|
||||
|
||||
## First Resource Shape
|
||||
|
||||
Planned endpoint groups:
|
||||
|
||||
- `GET /health`
|
||||
- `POST /collections`, `GET /collections`, `GET /collections/{id}`
|
||||
- `POST /artifacts`, `GET /artifacts/{id}`, `GET /artifacts`
|
||||
- `POST /relationships`, `GET /relationships`
|
||||
- `POST /ingest`
|
||||
- `POST /query/artifacts`, `POST /query/relationships`
|
||||
- `POST /runs`, `GET /runs/{id}`, `GET /runs/{id}/manifest`
|
||||
- `POST /context/artifact/{id}`
|
||||
|
||||
## Rules
|
||||
|
||||
- The Python API is canonical until contracts stabilize.
|
||||
- HTTP handlers must translate request/response envelopes only.
|
||||
- Markdown parsing, document transforms, selectors, contracts, and local
|
||||
indexes must remain adapter calls to `markitect-tool`.
|
||||
- Provider calls must remain adapter calls to `llm-connect`.
|
||||
- Structured diagnostics and errors must be preserved in responses.
|
||||
|
||||
## Deferred
|
||||
|
||||
- Authentication and authorization.
|
||||
- Durable database backend.
|
||||
- OpenAPI model polishing.
|
||||
- Streaming run execution.
|
||||
- Provider-backed assisted steps.
|
||||
|
||||
Reference in New Issue
Block a user