Freeze Hub inbound API v1; choose Go for the service

- docs/hub-api.md: language decision (Go 1.25) with reason and the
  frozen v1 routes POST /ask, POST /approve, GET /health, including
  request/response schemas, bearer-token auth, timeouts, error shapes,
  logging, versioning, and a safety confirmation that no route is a
  high-consequence control.
- Update README, hub_brief.md open items, and the outline docs so they
  no longer say the API is undecided or the language is open.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
2026-10-10 17:06:43 +11:00
parent 6a395d46a9
commit 449fdd02c5
6 changed files with 528 additions and 6 deletions

View File

@@ -5,7 +5,7 @@ shared by the phone app, the house voice, chat, and the admin app.
## Demonstrated Skills & Tech Stack
- **Core Technologies**: Go or Python service · HTTP JSON API · MQTT · LLM
- **Core Technologies**: Go 1.25 service · HTTP JSON API · MQTT · LLM
intent routing · OmniRoute gateway · Docker
- **Key Tools**: Jervis (voice) · Home Assistant · Paperclip · Artemis ·
internet use control · Apprise / NTFY · OmniRoute
@@ -82,5 +82,6 @@ flowchart LR
The design brief is `hub_brief.md`. Project instructions are `AGENTS.md`.
The interface between the Hub and every data project is `docs/ask-contract.md`.
The frozen inbound API (ways in to the Hub) is `docs/hub-api.md`.
Every other project is a **peer**, not a sub-project. A high-consequence control
(for example, cutting the kids' internet) does **not** route through the Hub.