diff --git a/Cargo.lock b/Cargo.lock index 29d459b..c5a95a0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -322,7 +322,7 @@ dependencies = [ [[package]] name = "codex-connector" version = "0.1.0" -source = "git+https://github.com/GameCult/CodexConnector.git?rev=548ee73b01c0c99d4e613677cf6d5ce63c63a240#548ee73b01c0c99d4e613677cf6d5ce63c63a240" +source = "git+https://github.com/GameCult/CodexConnector.git?rev=1e1598a8510251a3b432ab161053470cc396a124#1e1598a8510251a3b432ab161053470cc396a124" dependencies = [ "aes-gcm", "base64 0.23.1", diff --git a/Cargo.toml b/Cargo.toml index 6a6e125..d64060c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -22,7 +22,7 @@ async-stream = "0.3" axum = { version = "0.8", features = ["macros"] } chrono = { version = "0.4", features = ["serde"] } base64 = "0.22" -codex-connector = { git = "https://github.com/GameCult/CodexConnector.git", rev = "548ee73b01c0c99d4e613677cf6d5ce63c63a240" } +codex-connector = { git = "https://github.com/GameCult/CodexConnector.git", rev = "1e1598a8510251a3b432ab161053470cc396a124" } cultcache-legacy = { package = "cultcache-rs", git = "https://github.com/GameCult/cultcache-rs.git", rev = "0ba87453115e3d44e8fcb7419866cd7dd70fb096" } cultcache-rs = { path = "vendor/cultcache-rs" } cultnet-rs = { path = "vendor/cultnet-rs" } diff --git a/crates/ghostlight-dungeon/src/persona.rs b/crates/ghostlight-dungeon/src/persona.rs index ad1c943..fe50152 100644 --- a/crates/ghostlight-dungeon/src/persona.rs +++ b/crates/ghostlight-dungeon/src/persona.rs @@ -1,6 +1,6 @@ use crate::model::{ModelPort, ModelStageOutput, ModelStageRequest, run_validated_stage}; use crate::session_zero::{AggregatedBoundary, CampaignContract}; -use anyhow::{Result, anyhow}; +use anyhow::{Context, Result, anyhow}; use async_trait::async_trait; use ghostlight_persona_projection::{ InterpreterPrompt, MEMBRANE_SCHEMA, PersonaPrompt, ProjectorPrompt, build_interpreter_prompt, @@ -1041,8 +1041,9 @@ impl CellProjectionEngine { }; let mut projector_receipts = Vec::new(); let (projected_narrative, active_subject_ids, projector_receipt) = loop { - let mut projected = - run_validated_stage(self.model.as_ref(), &projection_request).await?; + let mut projected = run_validated_stage(self.model.as_ref(), &projection_request) + .await + .context("cell projector model stage failed")?; let proposal = projected .structured .clone() @@ -1100,7 +1101,8 @@ impl CellProjectionEngine { max_output_tokens: Some(512), }, ) - .await?; + .await + .context("cell Persona model stage failed")?; self.permit .require(&slice.cell_id, &slice.snapshot_binding, "cell_interpreter") .await?; @@ -1146,7 +1148,9 @@ impl CellProjectionEngine { let mut stage_receipts = projector_receipts; stage_receipts.push(persona.receipt); for attempt in 0..2 { - let mut interpreted = run_validated_stage(self.model.as_ref(), &request).await?; + let mut interpreted = run_validated_stage(self.model.as_ref(), &request) + .await + .context("cell interpreter model stage failed")?; let proposal = interpreted .structured .clone()