@@ -18,6 +18,7 @@ import {
1818 buildSidecarBody ,
1919 configureGitForMount ,
2020 decideCleanMode ,
21+ formatSandboxMountReadyMessage ,
2122 loadSidecarForSelection ,
2223 parseAgentArgs ,
2324 parseInstallArgs ,
@@ -402,6 +403,35 @@ test('decideCleanMode: codex defaults to mount (parity with claude/opencode)', (
402403 assert . deepEqual ( decideCleanMode ( 'codex' , true ) , { useClean : false } ) ;
403404} ) ;
404405
406+ test ( 'formatSandboxMountReadyMessage: appends mount metrics when available' , ( ) => {
407+ assert . equal (
408+ formatSandboxMountReadyMessage ( '/tmp/mount' , {
409+ initialMountDurationMs : 123 ,
410+ initialFileCount : 456
411+ } ) ,
412+ 'Sandbox mount ready (123ms, 456 files) → /tmp/mount'
413+ ) ;
414+ } ) ;
415+
416+ test ( 'formatSandboxMountReadyMessage: omits metrics when linked against an older mount handle' , ( ) => {
417+ assert . equal (
418+ formatSandboxMountReadyMessage ( '/tmp/mount' , {
419+ initialMountDurationMs : 123
420+ } ) ,
421+ 'Sandbox mount ready → /tmp/mount'
422+ ) ;
423+ assert . equal (
424+ formatSandboxMountReadyMessage ( '/tmp/mount' , {
425+ initialFileCount : 456
426+ } ) ,
427+ 'Sandbox mount ready → /tmp/mount'
428+ ) ;
429+ assert . equal (
430+ formatSandboxMountReadyMessage ( '/tmp/mount' , { } ) ,
431+ 'Sandbox mount ready → /tmp/mount'
432+ ) ;
433+ } ) ;
434+
405435test ( 'stripAgentFlag: removes --agent <name> pair preserving surrounding args' , ( ) => {
406436 // Degrade path: when the CLI cannot materialize opencode.json (non-mount
407437 // --install-in-repo), it strips the --agent selector so opencode launches
0 commit comments