Commit Graph

12 Commits

Author SHA1 Message Date
bf80efa25d AUD-49: build the Hub skeleton (hear-route-answer)
- Three inbound routes from docs/hub-api.md: POST /ask, POST /approve, GET /health.
- Five-step pipeline in src/hub, with packages hear, understand, check, route, answer.
- Routing through OmniRoute with the capability list and routing.md. The
  never-route control check runs before any LLM call.
- One real destination: Jervis house TTS, started out of band.
- Fake /ask project (src/tests/fakeproject) for the round-trip test.
- Append-only, size-capped request log. Bearer auth, source match, rate limit.
- Tests: all packages pass, including the fake /ask round trip. Race clean.
- Dockerfile and compose updated to mount routing.md and secrets, log on tmpfs.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-10-10 17:38:48 +11:00
81f9722eee Record the Phase 1 round-trip proof (AUD-46)
The runbook now holds the recorded result, not only the steps.

- Key source: PAPERCLIP_API_KEY in environment.d/10-secrets.conf.
- Job: AUD-55 (d58891ce-9934-4710-9bba-d37974251ed9), closed done.
- Result: "The Hub round trip works."
- Announce: POST http://192.168.20.13:8501/announce, HTTP 200.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-10-10 17:22:37 +11:00
441d859afe Phase 1: file one Paperclip job from a script
Add scripts/paperclip-roundtrip.sh. It files one Paperclip issue and prints
the returned id and identifier. The key comes from the environment, then from
environment.d. The script never prints the key.

Fix the runbook: the create route is POST /api/companies/{companyId}/issues.
The old POST /api/issues route returns 404.

Record the first filed job: AUD-55 (d58891ce-9934-4710-9bba-d37974251ed9).

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-10-10 17:21:03 +11:00
cd56e69a2f Hub runtime: allocate port 8788, add Go skeleton and Docker deployment
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-10-10 17:11:58 +11:00
26cb4d324d Record Phase 1 key setup and board-only key minting (AUD-53)
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-10-10 17:09:37 +11:00
449fdd02c5 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>
2026-10-10 17:07:07 +11:00
6a395d46a9 Fix README architecture diagram and destination wording
- Rename the README diagram's "Destinations" group to "Peers and services".
- Draw internet control as Hub "ask only (query)" and admin app
  "control + tap to approve"; draw Paperclip as "slow job (approved)".
- Keep the .mmd source in step with the README diagram.
- State the admin app's scope in the system overview.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-10-10 17:05:19 +11:00
2bd0297db1 Approval decided: one shared mechanism; calendar writes exempt 2026-10-10 16:08:29 +11:00
1f27c34e80 Settle identity (single user), routing (rules + LLM + clarify), observability (capped log) 2026-10-10 15:58:01 +11:00
fb0210743f Peer framing in map and note 2026-10-10 15:47:04 +11:00
a6d4d26b89 Add /ask contract; clarify peers, query vs control, identity gap 2026-10-10 15:46:49 +11:00
b3658132dd Initial Central AI Hub docs: brief, rules, README, outline context, architecture 2026-10-10 14:44:54 +11:00