From 71f72641003b62d43b74c90b63a0a6a09ea2d982 Mon Sep 17 00:00:00 2001 From: vegard Date: Wed, 18 Mar 2026 01:40:12 +0000 Subject: [PATCH] Agent leser spec-node via discusses-edge for kontekstuell feedback --- maskinrommet/src/agent.rs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/maskinrommet/src/agent.rs b/maskinrommet/src/agent.rs index 5e3d072..86aefc8 100644 --- a/maskinrommet/src/agent.rs +++ b/maskinrommet/src/agent.rs @@ -143,6 +143,17 @@ pub async fn handle_agent_respond( _ => "", }; + // Sjekk om denne chatten diskuterer en spec-node (discusses-edge) + let spec_context: String = match sqlx::query_scalar::<_, Option>( + "SELECT n.content FROM nodes n JOIN edges e ON e.source_id = $1 AND e.target_id = n.id WHERE e.edge_type = 'discusses' LIMIT 1", + ).bind(communication_id).fetch_optional(db).await { + Ok(Some(Some(content))) if !content.is_empty() => { + let truncated = if content.len() > 4000 { &content[..4000] } else { &content }; + format!("\n--- Gjeldende spesifikasjon ---\n{truncated}\n--- Slutt spesifikasjon ---\n\nDu har tilgang til spesifikasjonen over. Gi konkret feedback: hva er implementert, hva er planlagt, hva er teknisk vanskelig. Vær ærlig om begrensninger.\n") + } + _ => String::new(), + }; + let prompt = format!( r#"Du er Claude, en AI-assistent integrert i Synops-plattformen. Du deltar i samtalen "{comm_title}" med {participant_names}. @@ -150,7 +161,7 @@ Svar på norsk med mindre brukeren skriver på engelsk. {perm_desc} Svar konsist. Bruk vanlig tekst uten markdown-overskrifter. Svar KUN med meldingsteksten. - +{spec_context} --- Samtalehistorikk --- {conversation}--- Svar ---"# );