profile: inherit default model for roles

This commit is contained in:
Keisuke Hirata 2026-07-10 03:58:45 +09:00
parent 69fd11a233
commit 611f1656a3
No known key found for this signature in database
6 changed files with 78 additions and 56 deletions

View File

@ -2755,10 +2755,18 @@ fn default_profile_source_archive(
include_str!("../../../resources/profiles/reviewer.dcdl").to_string(), include_str!("../../../resources/profiles/reviewer.dcdl").to_string(),
); );
let mut imports = BTreeMap::new();
for slug in ["companion", "intake", "orchestrator", "coder", "reviewer"] {
imports.insert(
format!("profiles/{slug}.dcdl\0./default.dcdl"),
"profiles/default.dcdl".to_string(),
);
}
ProfileSourceArchive::build(ProfileSourceArchiveInput { ProfileSourceArchive::build(ProfileSourceArchiveInput {
id: "builtin-decodal-profiles-v1".to_string(), id: "builtin-decodal-profiles-v1".to_string(),
entrypoints, entrypoints,
imports: BTreeMap::new(), imports,
sources, sources,
}) })
.map_err(|err| err.to_string()) .map_err(|err| err.to_string())
@ -3340,6 +3348,10 @@ mod tests {
.resolve_profile(&selector_key, root.path(), "embedded-test-worker") .resolve_profile(&selector_key, root.path(), "embedded-test-worker")
.unwrap(); .unwrap();
assert_eq!(manifest.worker.name, "embedded-test-worker"); assert_eq!(manifest.worker.name, "embedded-test-worker");
assert_eq!(
manifest.model.ref_.as_deref(),
Some("codex-oauth/gpt-5.5")
);
} }
} }

View File

@ -1,12 +1,14 @@
slug = "coder"; import "./default.dcdl" // {
description = "Ticket implementation coder profile."; slug = "coder";
scope = "workspace_write"; description = "Ticket implementation coder profile.";
scope = "workspace_write";
feature = { feature = {
task = { enabled = true; }; task = { enabled = true; };
memory = { enabled = true; }; memory = { enabled = true; };
web = { enabled = true; }; web = { enabled = true; };
workers = { enabled = false; }; workers = { enabled = false; };
ticket = { enabled = false; access = "lifecycle"; }; ticket = { enabled = false; access = "lifecycle"; };
ticket_orchestration = { enabled = false; }; ticket_orchestration = { enabled = false; };
}; };
}

View File

@ -1,12 +1,14 @@
slug = "companion"; import "./default.dcdl" // {
description = "Workspace companion profile."; slug = "companion";
scope = "workspace_write"; description = "Workspace companion profile.";
scope = "workspace_write";
feature = { feature = {
task = { enabled = true; }; task = { enabled = true; };
memory = { enabled = true; }; memory = { enabled = true; };
web = { enabled = true; }; web = { enabled = true; };
workers = { enabled = true; }; workers = { enabled = true; };
ticket = { enabled = false; access = "lifecycle"; }; ticket = { enabled = false; access = "lifecycle"; };
ticket_orchestration = { enabled = false; }; ticket_orchestration = { enabled = false; };
}; };
}

View File

@ -1,12 +1,14 @@
slug = "intake"; import "./default.dcdl" // {
description = "Ticket intake profile."; slug = "intake";
scope = "workspace_write"; description = "Ticket intake profile.";
scope = "workspace_write";
feature = { feature = {
task = { enabled = false; }; task = { enabled = true; };
memory = { enabled = true; }; memory = { enabled = true; };
web = { enabled = true; }; web = { enabled = true; };
workers = { enabled = false; }; workers = { enabled = false; };
ticket = { enabled = true; access = "lifecycle"; }; ticket = { enabled = true; access = "lifecycle"; };
ticket_orchestration = { enabled = false; }; ticket_orchestration = { enabled = false; };
}; };
}

View File

@ -1,12 +1,14 @@
slug = "orchestrator"; import "./default.dcdl" // {
description = "Ticket orchestrator profile."; slug = "orchestrator";
scope = "workspace_write"; description = "Ticket orchestrator profile.";
scope = "workspace_write";
feature = { feature = {
task = { enabled = true; }; task = { enabled = true; };
memory = { enabled = true; }; memory = { enabled = true; };
web = { enabled = true; }; web = { enabled = true; };
workers = { enabled = true; }; workers = { enabled = true; };
ticket = { enabled = true; access = "lifecycle"; }; ticket = { enabled = true; access = "lifecycle"; };
ticket_orchestration = { enabled = true; }; ticket_orchestration = { enabled = true; };
}; };
}

View File

@ -1,12 +1,14 @@
slug = "reviewer"; import "./default.dcdl" // {
description = "Ticket review profile."; slug = "reviewer";
scope = "workspace_read"; description = "Ticket review profile.";
scope = "workspace_read";
feature = { feature = {
task = { enabled = true; }; task = { enabled = true; };
memory = { enabled = true; }; memory = { enabled = true; };
web = { enabled = true; }; web = { enabled = true; };
workers = { enabled = false; }; workers = { enabled = false; };
ticket = { enabled = false; access = "lifecycle"; }; ticket = { enabled = false; access = "lifecycle"; };
ticket_orchestration = { enabled = false; }; ticket_orchestration = { enabled = false; };
}; };
}