summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsoryu <soryu@soryu.co>2026-01-27 00:24:16 +0000
committersoryu <soryu@soryu.co>2026-01-27 00:24:16 +0000
commite6a37675281d975b9d4b8af5bbd7fb48f9fe0dfc (patch)
tree32beb4964bff3ae15058ec9701c6d8093729ec13
parent61e3b3f92adb791fd47d2de3027c46d08c03d901 (diff)
downloadsoryu-makima/task-task-5cf8ab1f-5cf8ab1f.tar.gz
soryu-makima/task-task-5cf8ab1f-5cf8ab1f.zip
[WIP] Heartbeat checkpoint - 2026-01-27 00:24:16 UTCmakima/task-task-5cf8ab1f-5cf8ab1f
-rw-r--r--makima/src/bin/makima.rs3
-rw-r--r--makima/src/daemon/api/contract.rs6
-rw-r--r--makima/src/server/handlers/contract_chat.rs6
-rw-r--r--makima/src/server/handlers/contracts.rs1
-rw-r--r--makima/src/server/handlers/mesh.rs4
-rw-r--r--makima/src/server/handlers/mesh_chat.rs1
-rw-r--r--makima/src/server/handlers/mesh_supervisor.rs1
-rw-r--r--makima/src/server/handlers/transcript_analysis.rs4
8 files changed, 26 insertions, 0 deletions
diff --git a/makima/src/bin/makima.rs b/makima/src/bin/makima.rs
index 6ddecab..6976106 100644
--- a/makima/src/bin/makima.rs
+++ b/makima/src/bin/makima.rs
@@ -1096,6 +1096,9 @@ async fn run_tui_loop(
initial_phase: None,
autonomous_loop: None,
phase_guard: None,
+ local_only: None,
+ red_team_enabled: None,
+ red_team_prompt: None,
};
match client.create_contract(req).await {
diff --git a/makima/src/daemon/api/contract.rs b/makima/src/daemon/api/contract.rs
index 12ebe95..445d676 100644
--- a/makima/src/daemon/api/contract.rs
+++ b/makima/src/daemon/api/contract.rs
@@ -66,6 +66,12 @@ pub struct CreateContractRequest {
pub autonomous_loop: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub phase_guard: Option<bool>,
+ #[serde(skip_serializing_if = "Option::is_none")]
+ pub local_only: Option<bool>,
+ #[serde(skip_serializing_if = "Option::is_none")]
+ pub red_team_enabled: Option<bool>,
+ #[serde(skip_serializing_if = "Option::is_none")]
+ pub red_team_prompt: Option<String>,
}
impl ApiClient {
diff --git a/makima/src/server/handlers/contract_chat.rs b/makima/src/server/handlers/contract_chat.rs
index e6ee8d4..dac806a 100644
--- a/makima/src/server/handlers/contract_chat.rs
+++ b/makima/src/server/handlers/contract_chat.rs
@@ -1362,6 +1362,7 @@ async fn handle_contract_request(
continue_from_task_id: None,
copy_files: None,
is_supervisor: false,
+ is_red_team: false,
checkpoint_sha: None,
branched_from_task_id: None,
conversation_history: None,
@@ -1458,6 +1459,7 @@ async fn handle_contract_request(
continue_from_task_id: None,
copy_files: None,
is_supervisor: false,
+ is_red_team: false,
checkpoint_sha: None,
branched_from_task_id: None,
conversation_history: None,
@@ -2190,6 +2192,7 @@ async fn handle_contract_request(
continue_from_task_id: previous_task_id,
copy_files: None,
is_supervisor: false,
+ is_red_team: false,
checkpoint_sha: None,
branched_from_task_id: None,
conversation_history: None,
@@ -2586,6 +2589,8 @@ async fn handle_contract_request(
autonomous_loop: None,
phase_guard: None,
local_only: None,
+ red_team_enabled: None,
+ red_team_prompt: None,
};
let contract = match repository::create_contract_for_owner(pool, owner_id, contract_req).await {
@@ -2707,6 +2712,7 @@ async fn handle_contract_request(
continue_from_task_id: None,
copy_files: None,
is_supervisor: false,
+ is_red_team: false,
checkpoint_sha: None,
branched_from_task_id: None,
conversation_history: None,
diff --git a/makima/src/server/handlers/contracts.rs b/makima/src/server/handlers/contracts.rs
index 3498063..3ad38da 100644
--- a/makima/src/server/handlers/contracts.rs
+++ b/makima/src/server/handlers/contracts.rs
@@ -295,6 +295,7 @@ pub async fn create_contract(
continue_from_task_id: None,
copy_files: None,
is_supervisor: true,
+ is_red_team: false,
checkpoint_sha: None,
priority: 0,
merge_mode: None,
diff --git a/makima/src/server/handlers/mesh.rs b/makima/src/server/handlers/mesh.rs
index 19958e7..c4d862c 100644
--- a/makima/src/server/handlers/mesh.rs
+++ b/makima/src/server/handlers/mesh.rs
@@ -2239,6 +2239,7 @@ pub async fn reassign_task(
plan: updated_plan.clone(),
parent_task_id: task.parent_task_id,
is_supervisor: task.is_supervisor,
+ is_red_team: task.is_red_team,
priority: task.priority,
repository_url: task.repository_url.clone(),
base_branch: task.base_branch.clone(),
@@ -3010,6 +3011,7 @@ pub async fn fork_task(
plan: req.new_task_plan.clone(),
parent_task_id: None, // Forked tasks are independent
is_supervisor: false,
+ is_red_team: false,
priority: task.priority,
repository_url: task.repository_url.clone(),
base_branch: task.base_branch.clone(),
@@ -3167,6 +3169,7 @@ pub async fn resume_from_checkpoint(
plan: req.plan,
parent_task_id: None,
is_supervisor: false,
+ is_red_team: false,
priority: task.priority,
repository_url: task.repository_url.clone(),
base_branch: task.base_branch.clone(),
@@ -3502,6 +3505,7 @@ pub async fn branch_task(
plan: req.message,
parent_task_id: None,
is_supervisor: false,
+ is_red_team: false,
priority: source_task.priority,
repository_url: source_task.repository_url.clone(),
base_branch: source_task.base_branch.clone(),
diff --git a/makima/src/server/handlers/mesh_chat.rs b/makima/src/server/handlers/mesh_chat.rs
index eb35728..ed6cfc0 100644
--- a/makima/src/server/handlers/mesh_chat.rs
+++ b/makima/src/server/handlers/mesh_chat.rs
@@ -1017,6 +1017,7 @@ async fn handle_mesh_request(
continue_from_task_id: None,
copy_files: None,
is_supervisor: false,
+ is_red_team: false,
checkpoint_sha: None,
branched_from_task_id: None,
conversation_history: None,
diff --git a/makima/src/server/handlers/mesh_supervisor.rs b/makima/src/server/handlers/mesh_supervisor.rs
index bcc8f3a..6d9f8fb 100644
--- a/makima/src/server/handlers/mesh_supervisor.rs
+++ b/makima/src/server/handlers/mesh_supervisor.rs
@@ -610,6 +610,7 @@ pub async fn spawn_task(
contract_id: Some(request.contract_id),
parent_task_id: request.parent_task_id,
is_supervisor: false,
+ is_red_team: false,
checkpoint_sha: request.checkpoint_sha.clone(),
merge_mode: Some("manual".to_string()),
priority: 0,
diff --git a/makima/src/server/handlers/transcript_analysis.rs b/makima/src/server/handlers/transcript_analysis.rs
index 8eb50c7..3c283da 100644
--- a/makima/src/server/handlers/transcript_analysis.rs
+++ b/makima/src/server/handlers/transcript_analysis.rs
@@ -279,6 +279,8 @@ pub async fn create_contract_from_analysis(
autonomous_loop: None,
phase_guard: None,
local_only: None,
+ red_team_enabled: None,
+ red_team_prompt: None,
};
let contract = match repository::create_contract_for_owner(pool, auth.owner_id, contract_req).await {
@@ -358,6 +360,7 @@ pub async fn create_contract_from_analysis(
continue_from_task_id: None,
copy_files: None,
is_supervisor: false,
+ is_red_team: false,
checkpoint_sha: None,
priority: match item.priority.as_deref() {
Some("high") => 10,
@@ -531,6 +534,7 @@ pub async fn update_contract_from_analysis(
continue_from_task_id: None,
copy_files: None,
is_supervisor: false,
+ is_red_team: false,
checkpoint_sha: None,
priority: 0,
merge_mode: None,