Skip to content

Demo: Cognitum One Seed → Apple Home (Siri) — verified working end-to-end #835

@stuinfla

Description

@stuinfla

🎙️ Working end-to-end: spoken Q&A from Siri to a Cognitum One Seed

This issue documents a verified working voice path from Apple Home (Siri / HomePod / iPhone / CarPlay / Apple Watch) → a Cognitum One Seed → cited spoken answer. Tested live today (2026-05-28) on a real Pi Zero 2W Seed with the cognitum-learn voice-proxy. The long-standing "is this actually possible?" question is now answered: yes.

How the Apple flow works


What's in the loop

At-a-glance: YOU → BUILD/CHAT/VOICE → Cognitum One Seed

Three components, three boxes, one HTTP hop each:

  1. Apple side — Siri Shortcut on iPhone (also reachable from HomePod, CarPlay, Apple Watch). Sends {topic, question} over HTTPS via a cloudflared tunnel.
  2. Mac voice-proxycognitum-voice-proxy v0.4.0, Python HTTP server bound on 0.0.0.0:7879. Bearer-auth gated. Translates {topic, question} → Seed's /api/v1/ask → cited answer.
  3. Cognitum One Seed — Pi Zero 2W running cognitum-agent v0.22.7. Hosts the .rvf knowledge base, runs hybrid retrieval (BM25 + dense BGE-small-en-v1.5 384-dim), synthesizes the answer.

The Seed never touches Apple. Apple touches your Mac through the tunnel; your Mac touches the Seed on your LAN.


Live proof captured today

1. Voice-proxy is healthy and pointed at the Seed

$ curl -H "Authorization: Bearer $TOKEN" http://127.0.0.1:7879/health
{
  "ok": true,
  "pid": 28932,
  "version": "0.4.0",
  "backend": "seed",
  "seed_host": "10.0.0.72",
  "seed_ask_path": "/api/v1/ask",
  "have_seed_bearer": true
}

2. The Seed has knowledge bases on it

$ curl -H "Authorization: Bearer $TOKEN" http://127.0.0.1:7879/v1/topics
{
  "topics": [
    {"topic": "ruvector-hnsw-vector-search",          "videos": 3,  "vectors": 75,  "size": "114.7 KB"},
    {"topic": "dim384-test",                          "videos": 1,  "vectors": 56,  "size": "85.0 KB"},
    {"topic": "2026-presidents-innovation-challenge", "videos": 4,  "vectors": 119, "size": "181.6 KB"},
    {"topic": "prediction-market-trading-polymarket", "videos": 10, "vectors": 332, "size": "507.2 KB"},
    {"topic": "google-s-biggest-seo-update-just",     "videos": 1,  "vectors": 25,  "size": "38.3 KB"}
    ...
  ]
}

3. End-to-end cited answer (this is exactly what Siri triggers)

$ curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
       -d '{"topic":"prediction-market-trading-polymarket",
            "question":"how do I get started trading on polymarket"}' \
       http://127.0.0.1:7879/v1/ask

HTTP 200, 2544 bytes, 14.4s elapsed

Response body:

{
  "topic": "prediction-market-trading-polymarket",
  "answer": "Based on the excerpts, here's how to get started trading on Polymarket:\n\n**1. Understand the platforms and choose one**\nPolymarket and Kalshi are prediction market platforms where you can trade on the outcomes of real-world events, including politics, sports, and more [2]. Polymarket currently has no trading fees and more volume than Kalshi [12]...\n\n**2. Learn how the pricing works**\nEach contract is priced between 1 cent and 99 cents [6]...\n\n**3. Curate your information sources**\nFollow Twitter/X accounts that consistently put out good content [1]...\n\n[19 numbered citations back to source videos with timestamps]",
  "version": "0.4.0"
}

19 citations. ~14s end-to-end (Mac → Seed → KB retrieval → Anthropic synthesis → response). The same 2544 bytes that Siri then speaks back to your ears.

4. The Seed itself, running

$ ssh genesis@cognitum-XXXX.local '/opt/cognitum/cognitum-agent --version'
cognitum-agent v0.22.7
  mode: seed
  store: /var/lib/cognitum/rvf-store
  bind: 0.0.0.0:8443
  tls: enabled

$ systemctl is-active cognitum-agent
active (running) since Thu 2026-05-28 00:49:10 EDT; 12h ago

Where Apple fits across all three voice ecosystems

Capability matrix — Apple vs Alexa vs Google

Apple is the cleanest of the three voice surfaces today:

  • Free — no Amazon Developer account, no AWS Lambda
  • Fastest setup — ≤4 minutes once you have the Shortcut and the tunnel
  • Widest hardware reach — iPhone, HomePod, HomePod mini, CarPlay, Apple Watch all work from the same Shortcut
  • LAN-friendly — the Mac voice-proxy handles all the bearer auth; Apple just sees a clean HTTPS endpoint

GA in cognitum-learn v0.5.7+. Verified end-to-end on a real Cognitum Seed today.


Reproduction (manual procedure today)

The full ~30-minute manual procedure is documented at:
https://github.com/stuinfla/cognitum-learn/blob/main/docs/voice-setup-manual.md

It covers:

  1. Voice-proxy LaunchAgent install on Mac (with the COG_VOICE_BIND=0.0.0.0 gotcha)
  2. cloudflared tunnel (free quick tunnel or named tunnel for stable URLs)
  3. Apple Shortcut install with URL parameterization
  4. Siri phrase binding
  5. End-to-end test from iPhone

In cognitum-learn v0.6.0, learn voice setup will replace this with a one-command browser wizard. Until then the manual path works.


Stack tested

Component Version Where it runs Status
cognitum-agent v0.22.7 (latest stable, OTA-current) Cognitum One Seed (Pi Zero 2W) active, 12h uptime
cognitum-voice-proxy v0.4.0 Mac LaunchAgent bound *:7879, bearer-gated
cognitum-learn CLI v0.5.10 Mac shipping docs/voice-setup-manual.md
Apple Shortcut iOS Shortcuts iPhone calls voice-proxy via tunnel
cloudflared tunnel latest Mac tested with quick tunnel

What this unlocks for RuView

The same Mac-voice-proxy pattern works for any Cognitum Seed surface that RuView already exposes. Concrete examples that drop in immediately:

  • "Hey Siri, ask RuView is anyone in the kitchen" — proxy translates → Seed /api/v1/presence → spoken yes/no
  • "Hey Siri, ask RuView what my heart rate trend looks like" — proxy → Seed vitals endpoint → spoken summary
  • "Hey Siri, ask RuView is the room safe" — proxy → Seed fall-risk → spoken assessment

RuView's sensing surface and the Cognitum Learn KB surface share the same Seed agent and the same auth model. One voice-proxy can route to both — only the endpoint mapping and the response-shaping changes per ecosystem.

The voice-proxy code currently lives in a private scaffolding repo (cognitum-home-integration) and will move into a public cognitum-learn subdir when that scaffolding is cleaned for public release. Happy to share the server.py directly if anyone wants to start building against the API today.


Open follow-ups (not blockers, just visibility)

  • Latency: 14s is too long for HomePod. Apple's hand-off to a "let me think" filler kicks in around 6s; full path needs the Haiku-fast-path retrieval (in flight for cognitum-learn v0.5.8) to fit a comfortable conversational window.
  • Token-rotation story — the bearer at ~/.cognitum-voice-proxy.token is long-lived; needs a rotation/revoke story before broad install.
  • Multi-Seed routing — voice-proxy hardcodes one seed_host; needs a map-of-seeds if a household owns more than one.

Filed by automated QA pass after verifying the Apple flow live on 2026-05-28. cc @ruvnet for visibility.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions