@@ -256,86 +256,3 @@ async fn pre_tool_enrichment_skips_non_matching_tools() -> Result<()> {
256256
257257 Ok ( ( ) )
258258}
259-
260- #[ tokio:: test( flavor = "multi_thread" , worker_threads = 2 ) ]
261- #[ serial( agentmemory_env) ]
262- async fn glob_lane_enrichment_and_post_tool_capture_use_native_contract ( ) -> Result < ( ) > {
263- let model_server = start_mock_server ( ) . await ;
264- let agentmemory_server = MockServer :: start ( ) . await ;
265- mount_agentmemory_runtime ( & agentmemory_server) . await ;
266- Mock :: given ( method ( "POST" ) )
267- . and ( path ( "/agentmemory/enrich" ) )
268- . respond_with ( ResponseTemplate :: new ( 200 ) . set_body_json ( json ! ( {
269- "context" : "<agentmemory-context>glob lane note</agentmemory-context>" ,
270- } ) ) )
271- . expect ( 1 )
272- . mount ( & agentmemory_server)
273- . await ;
274-
275- let mut builder = test_codex ( ) . with_config ( {
276- let agentmemory_base_url = agentmemory_server. uri ( ) ;
277- move |config| {
278- config. memories . backend = MemoryBackend :: Agentmemory ;
279- config. memories . agentmemory . base_url = agentmemory_base_url;
280- config. memories . agentmemory . inject_context = true ;
281- config
282- . features
283- . disable ( Feature :: MemoryTool )
284- . expect ( "test config should allow feature update" ) ;
285- }
286- } ) ;
287- let test = builder. build ( & model_server) . await ?;
288- std:: fs:: write ( test. config . cwd . join ( "glob_lane.txt" ) , "harbor note" ) ?;
289- let call_id = "agentmemory-list-dir" ;
290- let args = json ! ( {
291- "dir_path" : test. config. cwd. display( ) . to_string( ) ,
292- "offset" : 1 ,
293- "limit" : 5 ,
294- "depth" : 1 ,
295- } ) ;
296- let responses = mount_sse_sequence (
297- & model_server,
298- vec ! [
299- sse( vec![
300- ev_response_created( "resp-1" ) ,
301- ev_function_call( call_id, "list_dir" , & serde_json:: to_string( & args) ?) ,
302- ev_completed( "resp-1" ) ,
303- ] ) ,
304- sse( vec![
305- ev_response_created( "resp-2" ) ,
306- ev_assistant_message( "msg-1" , "listed" ) ,
307- ev_completed( "resp-2" ) ,
308- ] ) ,
309- ] ,
310- )
311- . await ;
312-
313- test. submit_turn ( "list the directory" ) . await ?;
314- test. codex . shutdown_and_wait ( ) . await ?;
315-
316- let requests = responses. requests ( ) ;
317- assert_eq ! ( requests. len( ) , 2 ) ;
318- assert ! (
319- requests[ 1 ] . body_contains_text( "glob lane note" ) ,
320- "glob lane enrichment should inject context into the follow-up model turn" ,
321- ) ;
322- let post_tool_use = agentmemory_server
323- . received_requests ( )
324- . await
325- . unwrap_or_default ( )
326- . into_iter ( )
327- . filter ( |request| request. url . path ( ) == "/agentmemory/observe" )
328- . map ( |request| {
329- serde_json:: from_slice :: < serde_json:: Value > ( & request. body )
330- . expect ( "agentmemory observe body should be valid json" )
331- } )
332- . find ( |payload| {
333- payload[ "hookType" ] == "post_tool_use" && payload[ "data" ] [ "tool_name" ] == "Glob"
334- } )
335- . expect ( "list_dir should emit glob post_tool_use observe payload" ) ;
336- assert_eq ! ( post_tool_use[ "source" ] , "codex-native" ) ;
337- assert_eq ! ( post_tool_use[ "payload_version" ] , "1" ) ;
338- assert_eq ! ( post_tool_use[ "persistence_class" ] , "persistent" ) ;
339-
340- Ok ( ( ) )
341- }
0 commit comments