hl exec-rules: the model looks at what it may run; Nextcloud's receipt checks are on the allowlist
ci / check (push) Successful in 1m7s
ci / publish (push) Successful in 44s

The first post-upgrade check on Nextcloud could run nothing: every hl exec, even `id`, was refused by the allowlist (only the
three db:add-* commands were on it, and the model had no way to know). `hl exec-rules` (route /agent/exec-rules) lists the
exact commands the session's project accepts, and the repair and post-upgrade prompts send the model there first. The
allowlist gets the read-only receipt check of the skill: occ status (with and without --output=json), occ config:app:get core
lastcron, occ app:list and pidof crond in the cron service. A test holds the file to this exact list. No new dependency.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
homelab-updaterandClaude Sonnet 5 committed 2026-09-20 02:32:42 +02:00
1 parent 64150865a4
commit 7e622d80e3
16 files changed
+145 -16

No files matched your search

+52
View File
@@ -1,4 +1,56 @@
[
{
"project": "nextcloud",
"service": "app",
"user": "www-data",
"argv": [
"php",
"occ",
"status"
]
},
{
"project": "nextcloud",
"service": "app",
"user": "www-data",
"argv": [
"php",
"occ",
"status",
"--output=json"
]
},
{
"project": "nextcloud",
"service": "app",
"user": "www-data",
"argv": [
"php",
"occ",
"config:app:get",
"core",
"lastcron"
]
},
{
"project": "nextcloud",
"service": "app",
"user": "www-data",
"argv": [
"php",
"occ",
"app:list"
]
},
{
"project": "nextcloud",
"service": "cron",
"user": null,
"argv": [
"pidof",
"crond"
]
},
{
"project": "nextcloud",
"service": "app",