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,3 +1,4 @@
import "./default.dcdl" // {
slug = "coder"; slug = "coder";
description = "Ticket implementation coder profile."; description = "Ticket implementation coder profile.";
scope = "workspace_write"; scope = "workspace_write";
@ -10,3 +11,4 @@ feature = {
ticket = { enabled = false; access = "lifecycle"; }; ticket = { enabled = false; access = "lifecycle"; };
ticket_orchestration = { enabled = false; }; ticket_orchestration = { enabled = false; };
}; };
}

View File

@ -1,3 +1,4 @@
import "./default.dcdl" // {
slug = "companion"; slug = "companion";
description = "Workspace companion profile."; description = "Workspace companion profile.";
scope = "workspace_write"; scope = "workspace_write";
@ -10,3 +11,4 @@ feature = {
ticket = { enabled = false; access = "lifecycle"; }; ticket = { enabled = false; access = "lifecycle"; };
ticket_orchestration = { enabled = false; }; ticket_orchestration = { enabled = false; };
}; };
}

View File

@ -1,12 +1,14 @@
import "./default.dcdl" // {
slug = "intake"; slug = "intake";
description = "Ticket intake profile."; description = "Ticket intake profile.";
scope = "workspace_write"; 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,3 +1,4 @@
import "./default.dcdl" // {
slug = "orchestrator"; slug = "orchestrator";
description = "Ticket orchestrator profile."; description = "Ticket orchestrator profile.";
scope = "workspace_write"; scope = "workspace_write";
@ -10,3 +11,4 @@ feature = {
ticket = { enabled = true; access = "lifecycle"; }; ticket = { enabled = true; access = "lifecycle"; };
ticket_orchestration = { enabled = true; }; ticket_orchestration = { enabled = true; };
}; };
}

View File

@ -1,3 +1,4 @@
import "./default.dcdl" // {
slug = "reviewer"; slug = "reviewer";
description = "Ticket review profile."; description = "Ticket review profile.";
scope = "workspace_read"; scope = "workspace_read";
@ -10,3 +11,4 @@ feature = {
ticket = { enabled = false; access = "lifecycle"; }; ticket = { enabled = false; access = "lifecycle"; };
ticket_orchestration = { enabled = false; }; ticket_orchestration = { enabled = false; };
}; };
}