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(),
);
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 {
id: "builtin-decodal-profiles-v1".to_string(),
entrypoints,
imports: BTreeMap::new(),
imports,
sources,
})
.map_err(|err| err.to_string())
@ -3340,6 +3348,10 @@ mod tests {
.resolve_profile(&selector_key, root.path(), "embedded-test-worker")
.unwrap();
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";
description = "Ticket implementation coder profile.";
scope = "workspace_write";
import "./default.dcdl" // {
slug = "coder";
description = "Ticket implementation coder profile.";
scope = "workspace_write";
feature = {
task = { enabled = true; };
memory = { enabled = true; };
web = { enabled = true; };
workers = { enabled = false; };
ticket = { enabled = false; access = "lifecycle"; };
ticket_orchestration = { enabled = false; };
};
feature = {
task = { enabled = true; };
memory = { enabled = true; };
web = { enabled = true; };
workers = { enabled = false; };
ticket = { enabled = false; access = "lifecycle"; };
ticket_orchestration = { enabled = false; };
};
}

View File

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

View File

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

View File

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

View File

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