Stabilize OpenSim agent runtime and Mentra integration
Some checks failed
CI / rust-skia (Rust only) (push) Has been cancelled
CI / required (push) Has been cancelled

This commit is contained in:
2026-08-22 10:44:09 +02:00
parent 2f5f03ac6f
commit 0dd2ca5824
28 changed files with 1765 additions and 2308 deletions

View File

@@ -4,9 +4,8 @@ use metacrate_grid_agent::testing::{
adversarial_corpus,
};
use metacrate_grid_agent::{
BehaviorRandom, BuildGrid, BuildPrim, BuildShape, CompletionMessage, GridSessionBackend,
LandmarkGrid, LlmClient, LlmError, LlmTransportLimits, MessageRole, ReconnectPolicy,
RoamingRandom, ScriptInventory, SessionState, SessionSupervisor,
BehaviorRandom, BuildGrid, BuildPrim, BuildShape, GridSessionBackend, LandmarkGrid,
ReconnectPolicy, RoamingRandom, ScriptInventory, SessionState, SessionSupervisor,
};
use std::collections::BTreeSet;
use std::sync::Arc;
@@ -281,57 +280,3 @@ fn corpus_randomness_scripts_and_load_metrics_are_reproducible_and_redacted() {
assert_eq!(metrics.dropped_events, 2);
metrics.assert_drained().unwrap();
}
#[cfg(any(unix, windows))]
#[tokio::test]
async fn local_openai_peer_records_only_redacted_schema_and_scripts_multimodal_rejection() {
use metacrate_grid_agent::testing::FakeOpenAiEndpoint;
use metacrate_grid_agent::{BoundedText, BoundedVec, ContentPart, ImageDetail};
let endpoint = FakeOpenAiEndpoint::start(vec![FakeLlmStep::MultimodalRejected])
.await
.expect("loopback endpoint");
let config = metacrate_grid_agent::AgentConfig::offline(endpoint.url(), "SECRET_CANARY")
.expect("offline config");
let client = LlmClient::new(
config.llm,
LlmTransportLimits {
max_retries: 3,
..LlmTransportLimits::default()
},
)
.unwrap();
let message = CompletionMessage {
role: MessageRole::Avatar,
content: BoundedVec::try_from_vec(
"content",
vec![ContentPart::Image {
url: BoundedText::new("url", "data:image/png;base64,aW1hZ2U=").unwrap(),
detail: ImageDetail::Low,
}],
)
.unwrap(),
tool_call_id: None,
proposed_calls: BoundedVec::new(),
};
assert_eq!(
client
.complete(&[message], &[], &CancellationToken::default())
.await
.unwrap_err(),
LlmError::MultimodalUnsupported
);
tokio::task::yield_now().await;
let requests = endpoint.requests();
assert_eq!(requests.len(), 1, "large request is never retried");
assert!(requests[0].has_image);
assert_eq!(requests[0].body_sha256.len(), 64);
assert!(!format!("{requests:?}").contains("SECRET_CANARY"));
let reproduction = endpoint.reproduction(99);
assert!(reproduction.contains("seed=99"));
assert!(!reproduction.contains("SECRET_CANARY"));
for _ in 0..8 {
tokio::task::yield_now().await;
}
assert_eq!(endpoint.active_sockets(), 0);
drop(endpoint);
}