claude-code: remove from or restore to only an agent account's own home
mesh/merge-gate pass: builds claude-code → ace, g14, novox, shanks; no bus step; every machine composes with the change as it did without (4 of 4 compose)
mesh/repo-check pass: THE CHANGE ALTERS ITS OWN CHECK (merge-check.sh, merge-check-typescript.sh): main's version judged it; the change's judges the pull r…
mesh/delivery delivered
mesh/merge-gate pass: builds claude-code → ace, g14, novox, shanks; no bus step; every machine composes with the change as it did without (4 of 4 compose)
mesh/repo-check pass: THE CHANGE ALTERS ITS OWN CHECK (merge-check.sh, merge-check-typescript.sh): main's version judged it; the change's judges the pull r…
mesh/delivery delivered
Removing a rule from the operator's own home changes what their sessions obey as surely as placing one: an agent could remove the rule that constrains it (hq issue 340).
This commit is contained in:
@@ -78,6 +78,20 @@ func (p Paths) HomeIsTheAgentsOwn() bool {
|
||||
return home == filepath.Clean(p.AgentHome) && (p.OperatorHome == "" || home != filepath.Clean(p.OperatorHome))
|
||||
}
|
||||
|
||||
// HomeChangeRefused says why this node's home may not be changed through the tools, or "": removing or putting
|
||||
// back an item of it changes what every session there obeys as surely as placing one — an agent could remove a
|
||||
// rule that constrains it — so it is done only where the home belongs to an agent account of its own (novox/hq
|
||||
// issue 340). The operator's own home is the operator's, changed by the person, not through a call.
|
||||
func HomeChangeRefused(p Paths, what string) string {
|
||||
if p.HomeIsTheAgentsOwn() {
|
||||
return ""
|
||||
}
|
||||
return what + " on " + p.Node + " would change the operator's own ~/.claude, whose rules and skills every " +
|
||||
"session the operator starts obeys, and the tool runner cannot tell the operator from an agent. It is done " +
|
||||
"only where the agent runs as an account of its own and the home is that account's (novox/hq ADR 0266, " +
|
||||
"issue 340); in the operator's own home it is the person's act, by hand. Nothing was changed"
|
||||
}
|
||||
|
||||
// HomeScopeRefused says why the home scope is not written for a node, or "": only this node's own home, and only
|
||||
// where it belongs to an agent account of its own (novox/hq issue 340). Another node's home cannot be judged
|
||||
// from here; that node's own module judges it.
|
||||
|
||||
Reference in New Issue
Block a user