Repository navigation
Description
🎙️ 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.
What's in the loop
Three components, three boxes, one HTTP hop each:
- Apple side — Siri Shortcut on iPhone (also reachable from HomePod, CarPlay, Apple Watch). Sends
{topic, question}over HTTPS via a cloudflared tunnel. - Mac voice-proxy —
cognitum-voice-proxyv0.4.0, Python HTTP server bound on0.0.0.0:7879. Bearer-auth gated. Translates{topic, question}→ Seed's/api/v1/ask→ cited answer. - Cognitum One Seed — Pi Zero 2W running
cognitum-agentv0.22.7. Hosts the.rvfknowledge 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 [email protected] '/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
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:
- Voice-proxy LaunchAgent install on Mac (with the
COG_VOICE_BIND=0.0.0.0gotcha) - cloudflared tunnel (free quick tunnel or named tunnel for stable URLs)
- Apple Shortcut install with URL parameterization
- Siri phrase binding
- 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.tokenis 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.

Activity
ruvnet commentedon May 28, 2026
Thanks Stu!!
ruvnet commentedon May 30, 2026
Closing as off-topic. This issue documents Cognitum One Seed / cognitum-agent / cognitum-voice-proxy integration with Apple Home — none of which are part of this repository. RuView's issue tracker is scoped to WiFi-DensePose, ESP32 CSI firmware, pose estimation, and the Rust/Python codebase in this repo. Cognitum integration demos belong in the cognitum-learn repository.
Generated by Claude Code
ruvnet commentedon Jul 18, 2026
The demonstrated Seed → Apple Home integration belongs to the Cognitum/learning project rather than RuView core, as previously noted. Closing this off-topic tracker.