sec(door): closed by default, governor fails closed; self-authoring off by default
Three fail-open paths on the §15 door: no env at all meant allow-all; a
governor that could not be reached approved with a WARNING; and a reply
that never said DENY — empty, truncated, a refusal — approved, because the
rule was !contains("DENY"). On the two days the judge plan emptied every
outbound action was approved by nobody.
Now: governor_allows() needs an explicit ALLOW and no DENY; both judge()
implementations return false when unreachable; with no governor the door
opens only on CLAWMATES_DOOR_POLICY=allow. Open Agent Passport (arXiv
2603.20953): 74.6% social-engineering success under a permissive policy,
0 of 879 under a restrictive one. Local override gains the governor prod
already runs.
skill_self_authoring: default flipped to OFF. No agent-authored skill has
ever been delivered to a mission or scored; prod held zero proposals.
Enable with CLAWMATES_SKILL_SELF_AUTHORING=1 once promoted skills go
through the files arm and get a Skill-Use score.
Co-Authored-By: Claude Opus 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01WZb5A2kfVfjpdwSochkuHz
This commit is contained in:
co-authored by
Claude Opus 5
parent
9b7680a605
commit
76ac3714f1
@@ -2,8 +2,9 @@
|
||||
//!
|
||||
//! `level_up` has generated complete skill drafts from a model since it
|
||||
//! shipped; the only thing between a draft and the catalogue was an operator
|
||||
//! ticking a checkbox in `LevelUpDrawer`. This worker removes the checkbox, by
|
||||
//! operator decision.
|
||||
//! ticking a checkbox in `LevelUpDrawer`. This worker removes the checkbox —
|
||||
//! when switched on. It is OFF by default since 2026-09-20; see
|
||||
//! `level_up::self_authoring_enabled` for why.
|
||||
//!
|
||||
//! What is deliberately NOT removed is the record. Every write stays
|
||||
//! workspace-scoped and versioned, cannot take the name of a hand-authored
|
||||
@@ -29,8 +30,9 @@ const SWEEP_INTERVAL: Duration = Duration::from_secs(120);
|
||||
pub fn spawn(pool: PgPool) {
|
||||
if !crate::level_up::self_authoring_enabled() {
|
||||
eprintln!(
|
||||
"skill_self_authoring: DISABLED (CLAWMATES_SKILL_SELF_AUTHORING) — \
|
||||
agent skill drafts wait for a human in the level-up drawer"
|
||||
"skill_self_authoring: DISABLED (the default since 2026-09-20) — \
|
||||
agent skill drafts wait for a human in the level-up drawer. \
|
||||
Set CLAWMATES_SKILL_SELF_AUTHORING=1 to let agents apply their own."
|
||||
);
|
||||
return;
|
||||
}
|
||||
@@ -38,7 +40,7 @@ pub fn spawn(pool: PgPool) {
|
||||
"skill_self_authoring: ENABLED — agents apply their own skill drafts \
|
||||
without human approval. Writes are workspace-scoped, versioned, and \
|
||||
cannot take a hand-authored skill's name; each lands with no approver \
|
||||
recorded. Set CLAWMATES_SKILL_SELF_AUTHORING=0 to restore the gate."
|
||||
recorded. Unset CLAWMATES_SKILL_SELF_AUTHORING to restore the gate."
|
||||
);
|
||||
tokio::spawn(async move {
|
||||
loop {
|
||||
|
||||
Reference in New Issue
Block a user