fix: restore companion subworker control

This commit is contained in:
2026-08-26 22:06:34 +09:00
parent 0ab15aa227
commit 83bda3dfb2
4 changed files with 6 additions and 11 deletions
+4 -2
View File
@@ -946,7 +946,7 @@ fn apply_role_profile(
value["feature"]["sub_worker"] = serde_json::json!({ "enabled": sub_worker });
value["feature"]["flow"] = serde_json::json!({ "enabled": slug == "coder" });
value["feature"]["worker"] = serde_json::json!({
"enabled": matches!(slug, "companion" | "orchestrator"),
"enabled": slug == "orchestrator",
"direct_spawn": slug != "orchestrator"
});
value["feature"]["manage_workdir"] = serde_json::json!({
@@ -1408,7 +1408,7 @@ mod tests {
}
#[test]
fn builtin_companion_can_manage_workdirs() {
fn builtin_companion_uses_sub_worker_control_without_worker_control() {
let tmp = TempDir::new().unwrap();
let resolved = ProfileResolver::new()
.with_workspace_base(tmp.path())
@@ -1419,6 +1419,8 @@ mod tests {
.unwrap();
assert!(resolved.manifest.feature.manage_workdir.enabled);
assert!(resolved.manifest.feature.sub_worker.enabled);
assert!(!resolved.manifest.feature.worker.enabled);
}
#[test]
-8
View File
@@ -983,14 +983,6 @@ where
if feature_config.sub_worker.enabled {
worker.register_worker_orchestration_instruction();
if !feature_config.worker.enabled {
feature_registry.add_module(
crate::feature::builtin::manage_worker::sub_worker_control_feature(
worker.workspace_client_handle(),
spawned_registry.clone(),
),
);
}
}
let host_worker_observation_provider = worker.worker_observation_provider();
+2
View File
@@ -4409,6 +4409,8 @@ mod tests {
.resolve_profile("builtin:companion", root.path(), "embedded-test-companion")
.unwrap();
assert!(companion.feature.manage_workdir.enabled);
assert!(companion.feature.sub_worker.enabled);
assert!(!companion.feature.worker.enabled);
}
#[test]