Settle identity (single user), routing (rules + LLM + clarify), observability (capped log)
This commit is contained in:
@@ -23,13 +23,25 @@ own interface, or through an approval flow. Never through `/ask`.
|
||||
|
||||
## Endpoint
|
||||
|
||||
Every data project exposes two endpoints on its own port:
|
||||
Every data project exposes three endpoints on its own port:
|
||||
|
||||
```
|
||||
GET /health -> {"ok": true}
|
||||
GET /capabilities -> the topics this project can answer
|
||||
POST /ask -> answer a question about this project's data
|
||||
```
|
||||
|
||||
## Capabilities (for routing)
|
||||
|
||||
The Hub reads this list to choose a project.
|
||||
|
||||
```json
|
||||
{ "project": "email_agent", "topics": ["email", "inbox", "mail"], "people": ["sam"] }
|
||||
```
|
||||
|
||||
Keep the topic list short and plain. The Hub uses these topics plus `routing.md`.
|
||||
Do not put private data in this list.
|
||||
|
||||
### Request
|
||||
|
||||
```json
|
||||
@@ -74,7 +86,7 @@ Never guess. Never invent. Say `reason` instead.
|
||||
|
||||
## Rules for the project
|
||||
|
||||
1. **Read only.** `/ask` never writes anything.
|
||||
1. **Read only.** `/ask` never writes anything. `/capabilities` never writes.
|
||||
2. **Answer for one person at most.** Check `asker` may see `person`.
|
||||
3. **One short sentence.** No lists unless asked.
|
||||
4. **Fast.** Answer in under 3 seconds, or return `answer: null`.
|
||||
|
||||
@@ -64,6 +64,18 @@ interface. Each works without the Hub.
|
||||
|
||||
A high-consequence control does not route through the Hub.
|
||||
|
||||
## Routing
|
||||
|
||||
The Hub picks a project with three things: a capability list from each project, a
|
||||
human-editable `routing.md`, and an LLM. The LLM returns one of four answers:
|
||||
route, fanout, clarify, or no_match. When it is unsure, it asks the user a short
|
||||
question. It never routes a control action.
|
||||
|
||||
## Observability
|
||||
|
||||
The Hub writes one append-only log. It records the request, the route, the project
|
||||
asked, and the latency. The log is capped. It holds no secrets.
|
||||
|
||||
## Reply Shapes
|
||||
|
||||
The Hub returns one reply. The reply can hold text, spoken audio (TTS), Artemis
|
||||
|
||||
Reference in New Issue
Block a user