Commit 4e22d05
prompt: ban Kubernetes terminology (kubo != kubernetes)
Lab observed 2026-05-26: AI verdict for "not earning" scenario said:
"kubernetes components needed for reward earning are not healthy,
likely root: kubelet, kubeproxy or wireguard issues"
Pure hallucination — this device has no Kubernetes. The 1.5B Qwen
model pattern-matched "kubo" (the IPFS daemon's actual name, formerly
known as go-ipfs) → "kubernetes" because the training corpus has way
more `kubelet`/`kube-proxy`/`kubectl` text than `kubo`. The model
extrapolated from a name-shape match instead of reading the actual
diag/containers tool result.
System prompt rule 11 explicitly:
- Forbids ALL kubernetes terminology (kubelet, kube-proxy, kubectl,
k8s, etc.).
- Lists the EXACT containers + services that actually exist on the
device (ipfs_host = kubo, ipfs_cluster, fula_go, fula_pinning,
fula_gateway, fula_fxsupport, wireguard-support.service,
fula.service, uniondrive.service). The list is closed; anything
else the model imagines doesn't exist.
- Clarifies that "kubo" is the IPFS daemon (renamed from go-ipfs),
NOT a kubernetes component — so the AI doesn't repeat the same
pattern-match.
Defense in depth: even with the regex+threshold + server-side
recommendation guardrails already shipped, the model's PROSE
verdict was misleading the user. This rule attacks the root
hallucination at prompt time.
Tests pass (41/41 rkllm_runtime tests + 230/230 overall).
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>1 parent 8d3a31f commit 4e22d05
1 file changed
Lines changed: 11 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
415 | 415 | | |
416 | 416 | | |
417 | 417 | | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
| 423 | + | |
| 424 | + | |
| 425 | + | |
| 426 | + | |
| 427 | + | |
| 428 | + | |
418 | 429 | | |
419 | 430 | | |
420 | 431 | | |
| |||
0 commit comments