summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--makima/src/db/models.rs3
-rw-r--r--makima/src/db/repository.rs4
-rw-r--r--makima/src/server/handlers/contracts.rs4
3 files changed, 9 insertions, 2 deletions
diff --git a/makima/src/db/models.rs b/makima/src/db/models.rs
index 91564c8..4411747 100644
--- a/makima/src/db/models.rs
+++ b/makima/src/db/models.rs
@@ -1641,6 +1641,9 @@ pub struct ContractSummary {
/// When true, tasks do not auto-execute completion actions and work stays in worktrees.
#[serde(default)]
pub local_only: bool,
+ /// Whether red team monitoring is enabled for this contract.
+ #[serde(default)]
+ pub red_team_enabled: bool,
pub file_count: i64,
pub task_count: i64,
pub repository_count: i64,
diff --git a/makima/src/db/repository.rs b/makima/src/db/repository.rs
index 1ab4165..9a1bf2d 100644
--- a/makima/src/db/repository.rs
+++ b/makima/src/db/repository.rs
@@ -2517,7 +2517,7 @@ pub async fn list_contracts_for_owner(
r#"
SELECT
c.id, c.name, c.description, c.contract_type, c.phase, c.status,
- c.supervisor_task_id, c.local_only, c.version, c.created_at,
+ c.supervisor_task_id, c.local_only, c.red_team_enabled, c.version, c.created_at,
(SELECT COUNT(*) FROM files WHERE contract_id = c.id) as file_count,
(SELECT COUNT(*) FROM tasks WHERE contract_id = c.id) as task_count,
(SELECT COUNT(*) FROM contract_repositories WHERE contract_id = c.id) as repository_count
@@ -2541,7 +2541,7 @@ pub async fn get_contract_summary_for_owner(
r#"
SELECT
c.id, c.name, c.description, c.contract_type, c.phase, c.status,
- c.supervisor_task_id, c.local_only, c.version, c.created_at,
+ c.supervisor_task_id, c.local_only, c.red_team_enabled, c.version, c.created_at,
(SELECT COUNT(*) FROM files WHERE contract_id = c.id) as file_count,
(SELECT COUNT(*) FROM tasks WHERE contract_id = c.id) as task_count,
(SELECT COUNT(*) FROM contract_repositories WHERE contract_id = c.id) as repository_count
diff --git a/makima/src/server/handlers/contracts.rs b/makima/src/server/handlers/contracts.rs
index 7ed84e3..9979c1f 100644
--- a/makima/src/server/handlers/contracts.rs
+++ b/makima/src/server/handlers/contracts.rs
@@ -369,6 +369,7 @@ pub async fn create_contract(
status: contract.status,
supervisor_task_id: contract.supervisor_task_id,
local_only: contract.local_only,
+ red_team_enabled: contract.red_team_enabled,
file_count: 0,
task_count: 0,
repository_count: 0,
@@ -391,6 +392,7 @@ pub async fn create_contract(
status: contract.status,
supervisor_task_id: contract.supervisor_task_id,
local_only: contract.local_only,
+ red_team_enabled: contract.red_team_enabled,
file_count: 0,
task_count: 0,
repository_count: 0,
@@ -520,6 +522,7 @@ pub async fn update_contract(
status: contract.status,
supervisor_task_id: contract.supervisor_task_id,
local_only: contract.local_only,
+ red_team_enabled: contract.red_team_enabled,
file_count: 0,
task_count: 0,
repository_count: 0,
@@ -1405,6 +1408,7 @@ pub async fn change_phase(
status: updated_contract.status,
supervisor_task_id: updated_contract.supervisor_task_id,
local_only: updated_contract.local_only,
+ red_team_enabled: updated_contract.red_team_enabled,
file_count: 0,
task_count: 0,
repository_count: 0,