Let General Chat search the web, and only General Chat
Search is the one capability that fits the profile holding none: every other capability either reads this installation or changes it, and chat's whole contract is that it can do neither. The assistant deliberately does not get it — its contract is that answers come from this install's own documents, and a web result there is an answer that looks sourced and is not. A chat question about this machine hands off to the assistant before the search would run, so it never reaches the internet even with the box ticked. Off by default, and not because it is dangerous: searching sends the operator's question outside the house, which is theirs to decide. Asked for per turn as well as enabled in conf. Provider-agnostic, as asked — searxng, brave, tavily. Only whichever is configured here can be verified; all three read every field by name, so a shape that changes underneath yields no results rather than wrong ones. The explain fixtures asserted chat holds no capabilities at all, which is exactly the guarantee worth keeping. caps=only: now states the set rather than its emptiness, so the check still fails the day something else is granted there.
This commit is contained in:
@@ -19,6 +19,8 @@
|
||||
# run=yes|no the run-outcome gate
|
||||
# diag=yes|no the diagnostic gate
|
||||
# caps=none the profile holds no capabilities at all
|
||||
# caps=only:a,b it holds exactly these and nothing else
|
||||
# caps=a it holds at least this
|
||||
# has=a,b every one of these must be attached
|
||||
# hasnt=a,b none of these may be attached
|
||||
#
|
||||
@@ -70,7 +72,7 @@ Why did this run fail? | troubleshoot | Orchestrators/daily_sync_maintenance | |
|
||||
How did this run go? | troubleshoot | Orchestrators/weekly_sync_maintenance | | has=log_tail,run_record
|
||||
|
||||
# ── General Chat holds nothing, and hands Varaverk questions up rather than deferring ──────────
|
||||
how was your day | chat | | | profile=chat caps=none hasnt=health,log_tail,incidents,conf_keys
|
||||
how was your day | chat | | | profile=chat caps=only:web_search hasnt=health,log_tail,incidents,conf_keys
|
||||
what does arr_sync.sh do | chat | | | profile=varaverk
|
||||
is RSYNC_ENABLED on right now | chat | | | profile=varaverk has=conf_keys
|
||||
how did the daily orch go | chat | | | profile=varaverk run=yes has=run_record
|
||||
@@ -99,8 +101,8 @@ write me a bash script for backups | chat | | | profile=code
|
||||
|
||||
# Diagnostic phrasing about nothing here stays in chat — "why" is not a Varaverk question on its
|
||||
# own, and escalating adds capability, so a wrong escalation costs more than a missed one.
|
||||
why is the sky blue | chat | | | profile=chat caps=none hasnt=health,log_tail,incidents,conf_keys
|
||||
what is wrong with my car | chat | | | profile=chat caps=none
|
||||
why is the sky blue | chat | | | profile=chat caps=only:web_search hasnt=health,log_tail,incidents,conf_keys
|
||||
what is wrong with my car | chat | | | profile=chat caps=only:web_search
|
||||
|
||||
# Naming a script and asking what it does is documentation, not a request to write one. The code
|
||||
# router is anchored on the verb for exactly this pair.
|
||||
|
||||
Reference in New Issue
Block a user