profile: inherit ticket tools across roles
This commit is contained in:
parent
5f651755d8
commit
23234b96ca
|
|
@ -895,7 +895,6 @@ fn builtin_profile_artifact(label: &str) -> Option<serde_json::Value> {
|
|||
true,
|
||||
true,
|
||||
false,
|
||||
false,
|
||||
);
|
||||
Some(value)
|
||||
}
|
||||
|
|
@ -909,7 +908,6 @@ fn builtin_profile_artifact(label: &str) -> Option<serde_json::Value> {
|
|||
true,
|
||||
true,
|
||||
false,
|
||||
true,
|
||||
false,
|
||||
);
|
||||
Some(value)
|
||||
|
|
@ -925,7 +923,6 @@ fn builtin_profile_artifact(label: &str) -> Option<serde_json::Value> {
|
|||
true,
|
||||
true,
|
||||
true,
|
||||
true,
|
||||
);
|
||||
Some(value)
|
||||
}
|
||||
|
|
@ -940,7 +937,6 @@ fn builtin_profile_artifact(label: &str) -> Option<serde_json::Value> {
|
|||
true,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
);
|
||||
Some(value)
|
||||
}
|
||||
|
|
@ -955,7 +951,6 @@ fn builtin_profile_artifact(label: &str) -> Option<serde_json::Value> {
|
|||
true,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
);
|
||||
Some(value)
|
||||
}
|
||||
|
|
@ -1009,19 +1004,16 @@ fn apply_role_profile(
|
|||
memory: bool,
|
||||
web: bool,
|
||||
workers: bool,
|
||||
ticket: bool,
|
||||
ticket_orchestration: bool,
|
||||
) {
|
||||
value["slug"] = serde_json::Value::String(slug.to_string());
|
||||
value["description"] = serde_json::Value::String(description.to_string());
|
||||
value["feature"] = serde_json::json!({
|
||||
"task": { "enabled": task },
|
||||
"memory": { "enabled": memory },
|
||||
"web": { "enabled": web },
|
||||
"workers": { "enabled": workers },
|
||||
"ticket": { "enabled": ticket, "access": "lifecycle" },
|
||||
"ticket_orchestration": { "enabled": ticket_orchestration }
|
||||
});
|
||||
value["feature"]["task"] = serde_json::json!({ "enabled": task });
|
||||
value["feature"]["memory"] = serde_json::json!({ "enabled": memory });
|
||||
value["feature"]["web"] = serde_json::json!({ "enabled": web });
|
||||
value["feature"]["workers"] = serde_json::json!({ "enabled": workers });
|
||||
value["feature"]["ticket_orchestration"] =
|
||||
serde_json::json!({ "enabled": ticket_orchestration });
|
||||
}
|
||||
|
||||
fn reject_manifest_shaped_profile(value: &serde_json::Value) -> Result<(), ProfileError> {
|
||||
|
|
@ -1441,12 +1433,13 @@ mod tests {
|
|||
let companion = resolve("companion");
|
||||
assert!(companion.feature.task.enabled);
|
||||
assert!(companion.feature.workers.enabled);
|
||||
assert!(!companion.feature.ticket.enabled);
|
||||
assert!(companion.scope.allow.is_empty());
|
||||
assert!(companion.scope.deny.is_empty());
|
||||
assert!(companion.delegation_scope.allow.is_empty());
|
||||
assert_eq!(companion.model.ref_.as_deref(), Some("codex-oauth/gpt-5.5"));
|
||||
assert!(companion.web.is_some());
|
||||
assert!(companion.feature.ticket.enabled);
|
||||
assert!(!companion.feature.ticket_orchestration.enabled);
|
||||
assert_eq!(
|
||||
companion.compaction.as_ref().unwrap().threshold,
|
||||
Some(240000)
|
||||
|
|
@ -1497,11 +1490,14 @@ mod tests {
|
|||
assert_eq!(coder.model.ref_.as_deref(), Some("codex-oauth/gpt-5.5"));
|
||||
assert!(coder.web.is_some());
|
||||
assert!(coder.compaction.is_some());
|
||||
assert!(coder.feature.ticket.enabled);
|
||||
assert!(!coder.feature.ticket_orchestration.enabled);
|
||||
|
||||
let reviewer = resolve("reviewer");
|
||||
assert!(reviewer.feature.task.enabled);
|
||||
assert!(!reviewer.feature.workers.enabled);
|
||||
assert!(!reviewer.feature.ticket.enabled);
|
||||
assert!(reviewer.feature.ticket.enabled);
|
||||
assert!(!reviewer.feature.ticket_orchestration.enabled);
|
||||
assert!(reviewer.scope.allow.is_empty());
|
||||
assert!(reviewer.delegation_scope.allow.is_empty());
|
||||
assert_eq!(reviewer.model.ref_.as_deref(), Some("codex-oauth/gpt-5.5"));
|
||||
|
|
|
|||
|
|
@ -8,7 +8,6 @@ import "./default.dcdl" // {
|
|||
memory = { enabled = true; };
|
||||
web = { enabled = true; };
|
||||
workers = { enabled = false; };
|
||||
ticket = { enabled = false; access = "lifecycle"; };
|
||||
ticket_orchestration = { enabled = false; };
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,7 +8,6 @@ import "./default.dcdl" // {
|
|||
memory = { enabled = true; };
|
||||
web = { enabled = true; };
|
||||
workers = { enabled = true; };
|
||||
ticket = { enabled = false; access = "lifecycle"; };
|
||||
ticket_orchestration = { enabled = false; };
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,7 +8,6 @@ import "./default.dcdl" // {
|
|||
memory = { enabled = true; };
|
||||
web = { enabled = true; };
|
||||
workers = { enabled = false; };
|
||||
ticket = { enabled = true; access = "lifecycle"; };
|
||||
ticket_orchestration = { enabled = false; };
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,7 +8,6 @@ import "./default.dcdl" // {
|
|||
memory = { enabled = true; };
|
||||
web = { enabled = true; };
|
||||
workers = { enabled = true; };
|
||||
ticket = { enabled = true; access = "lifecycle"; };
|
||||
ticket_orchestration = { enabled = true; };
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,7 +8,6 @@ import "./default.dcdl" // {
|
|||
memory = { enabled = true; };
|
||||
web = { enabled = true; };
|
||||
workers = { enabled = false; };
|
||||
ticket = { enabled = false; access = "lifecycle"; };
|
||||
ticket_orchestration = { enabled = false; };
|
||||
};
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user